鼠标上的指纹 2023-06-23 11:10 采纳率: 25%
浏览 21
已结题

VB.NET标签显示问题

VB.NET中,在一个宽度设定为200的Label中,传入超长的字符串,当显示不下的时候如何只显示字符串最中间的部分。
1设定一个长度固定为200的Label如图所示

img


2点击按钮传入超长的字符串

img


3但是显示只是字符串的从最左边开始到Label能满足的长度

img

提问:甲方爸爸要求显示这串字符串最中间的部分,按照Label能满足的长度显示,帮帮我吧

  • 写回答

4条回答 默认 最新

  • PhoenixRiser 2023-06-23 11:15
    关注

    TechWhizKid参考GPT回答:

    • 可以通过计算字符串的长度和Label宽度来实现。然后根据这个宽度去截取字符串的中间部分。下面是一段可能的代码
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim Str As String = "abcdefghijklmnopqrstuvwxyz1234567890"
        Dim g As Graphics = Label1.CreateGraphics()
        Dim s As SizeF = g.MeasureString(Str, Label1.Font)
    
        '如果字符串超过了label的宽度
        If s.Width > Label1.Width Then
            Dim visibleChars As Integer = CInt(Math.Floor((Str.Length * Label1.Width) / s.Width))
            Dim startIndex As Integer = (Str.Length - visibleChars) / 2
            Label1.Text = Str.Substring(startIndex, visibleChars)
        Else
            Label1.Text = Str
        End If
    End Sub
    
    
    
    • 这段代码仅仅作为示例
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 7月1日
  • 已采纳回答 6月23日
  • 创建了问题 6月23日

悬赏问题

  • ¥15 qml如何绘制三维笛卡尔坐标系并向其中添加折线?
  • ¥20 在进行keil5环境中ti芯片可移植性验证出现了如图所示错误(参考的是立创和无名的视频)
  • ¥15 treelib库有读取树数据方法吗?
  • ¥15 咨询一个PYTHON的问题
  • ¥15 机器学习建模调参,roc评价指标
  • ¥15 RCS plot 包内置数据集使用时报错,如何解决?
  • ¥15 keil+mspm0g3507+二维总线舵机
  • ¥15 如何用wireshark分析找出url接口和param参数
  • ¥15 有谁知道这是阿里云那个应用的域名吗,怎么调用?
  • ¥30 正则表达式的一些问题