啥也不会的乘序猿 2024-04-09 16:41 采纳率: 21.4%
浏览 7

vb.net关于某一列在最左侧显示(语言-开发语言)

vb6中的Spread设置LeftCol = 7,结果是第7列在最左侧显示
设置SetSelection(7 1 7 1)结果是第7列不是在最左侧显示
如果将LeftCol 和SetSelection组合使用时,当LeftCol 设置的列大于SetSelection设置的列时,最左侧显示的那一列是SetSelection设置的那一列。
但是在vb.net中,使用SetViewportLeftColumn和SetSelection,当SetViewportLeftColumn设置的列大于SetSelection设置的列的时候,显示在最左侧那一列,还是SetViewportLeftColumn设置的那一列,并不是跟vb6一样,是显示SetSelection设置的那一列,这个问题,该如何处理?

  • 写回答

4条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-04-09 16:41
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题描述: 在vb.net中,使用SetViewportLeftColumn和SetSelection,当SetViewportLeftColumn设置的列大于SetSelection设置的列的时候,显示在最左侧那一列,还是SetViewportLeftColumn设置的那一列,并不是跟vb6一样,是显示SetSelection设置的那一列,如何解决问题? 解决方案: 在vb.net中,使用SetViewportLeftColumn设置左侧起始列的时候,如果该列大于SetSelection设置的列,需要额外处理才能得到类似vb6的效果。
    1. 设置SetSelection的同时,记录左侧起始列的位置
    Dim leftCol As Integer = 7
    Spread1.ActiveSheet.SetViewportLeftColumn(leftCol, False)
    Spread1.ActiveSheet.SetSelection(7, 1, 7, 1)
    
    1. 判断SetViewportLeftColumn设置的列是否在SetSelection的左侧 如果SetViewportLeftColumn设置的列在SetSelection的左侧,则不需要特别处理;否则,需要将左侧起始列设置为SetSelection中的第一列。
    If leftCol > Spread1.ActiveSheet.ActiveColumnIndex Then
        Spread1.ActiveSheet.SetViewportLeftColumn(Spread1.ActiveSheet.ActiveColumnIndex, True)
    End If
    

    完整代码:

    Dim leftCol As Integer = 7
    Spread1.ActiveSheet.SetViewportLeftColumn(leftCol, False)
    Spread1.ActiveSheet.SetSelection(7, 1, 7, 1)
    If leftCol > Spread1.ActiveSheet.ActiveColumnIndex Then
        Spread1.ActiveSheet.SetViewportLeftColumn(Spread1.ActiveSheet.ActiveColumnIndex, True)
    End If
    
    评论

报告相同问题?

问题事件

  • 创建了问题 4月9日

悬赏问题

  • ¥30 关于#测试工具#的问题:测试ai翻唱
  • ¥15 浮窗和全屏应用同时存在,全屏应用输入法无法弹出
  • ¥100 matlab2009 32位一直初始化
  • ¥15 Expected type 'str | PathLike[str]…… bytes' instead
  • ¥15 为什么在iis上部署网站,服务器可以访问,但是本地电脑访问不了
  • ¥15 三极管电路求解,已知电阻电压和三级关放大倍数
  • ¥15 ADS时域 连续相位观察方法
  • ¥15 Opencv配置出错
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配