Foxtable(狐表)用户栏目专家坐堂 → 如何动态设定RadioButton文本的宽度啊


  共有3656人关注过本帖树形打印复制链接

主题:如何动态设定RadioButton文本的宽度啊

帅哥哟,离线,有人找我吗?
迷途小童
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:88 积分:613 威望:0 精华:0 注册:2018/6/13 21:37:00
如何动态设定RadioButton文本的宽度啊  发帖心情 Post By:2019/12/7 15:16:00 [只看该作者]

如题,如何在窗口中动态设定RadioButton文本显示的宽度啊,请教各位专家

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110647 积分:563143 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/7 15:28:00 [只看该作者]

Dim rb As WinForm.RadioButton = e.Form.Controls("RadioButton1")
rb.Width = 100

 回到顶部
帅哥哟,离线,有人找我吗?
迷途小童
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:88 积分:613 威望:0 精华:0 注册:2018/6/13 21:37:00
  发帖心情 Post By:2019/12/7 15:43:00 [只看该作者]

不是这个,我想表达的意思是,rb.text内容是动态的,如何把text的内容显示全了

 


 回到顶部
帅哥哟,离线,有人找我吗?
迷途小童
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:88 积分:613 威望:0 精华:0 注册:2018/6/13 21:37:00
  发帖心情 Post By:2019/12/7 15:44:00 [只看该作者]

他的宽度不定


 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110647 积分:563143 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/7 15:46:00 [只看该作者]

就是这个呀。估算一个1个字符大概多宽。根据字符数量设置控件的高和宽

 回到顶部
帅哥哟,离线,有人找我吗?
迷途小童
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:88 积分:613 威望:0 精华:0 注册:2018/6/13 21:37:00
  发帖心情 Post By:2019/12/7 16:15:00 [只看该作者]


        '生成题目
        dr = DataTables("题库").Find("[序号] = '" & pd.Name & "'")
        'str =
        Forms(Arg0).Controls("Label1").Text = StrToWide("(") & pd.Text &  StrToWide(")") & dr("题目内容") & vbcrlf & vbcrlf '显示题目内容
        Forms(Arg0).Controls("Label1").Width = Forms(Arg0).Controls("GroupBox1").Width - 100
       
        Dim pbx As WinForm.PictureBox = Forms(Arg0).Controls("PictureBox1")
        Dim h As  Integer '设定控件高度
        Dim rb_A As WinForm.RadioButton
        Dim rb_B As WinForm.RadioButton
        Dim rb_C As WinForm.RadioButton
        Dim rb_D As WinForm.RadioButton
        Forms("窗口12").RemoveControl("rb_A")
        Forms("窗口12").RemoveControl("rb_B")
        Forms("窗口12").RemoveControl("rb_C")
        Forms("窗口12").RemoveControl("rb_D")
        If dr.IsNull("图片") Then
            pbx.Visible = False
            h = Forms(Arg0).Controls("Label1").Height + Forms(Arg0).Controls("Label1").Top 
        Else
            pbx.Visible = True
            pbx.Top = Forms(Arg0).Controls("Label1").Height + Forms(Arg0).Controls("Label1").Top  '设定图片位置
            pbx.Image = GetImage(dr("图片")) '显示图片
            h = pbx.Height + pbx.Top
        End If
        '创建选项A
        rb_A =  Forms("窗口12").CreateControl("rb_A", ControlTypeEnum.RadioButton)
        rb_A.Text = vbcrlf & "A." & dr("选项_A")
        rb_A.Left = Forms(Arg0).Controls("Label1").Left
        rb_A.Top = h
        rb_A.TextAlign  = ContentAlignment.MiddleLeft
        rb_A.Width = Forms(Arg0).Controls("GroupBox1").Width
       
        Forms("窗口12").Controls("GroupBox1").AddControl(rb_A)

        '创建选项B
        h = h + rb_A.Height
        rb_B = Forms("窗口12").CreateControl("rb_B", ControlTypeEnum.RadioButton)
        rb_B.Top = h
        rb_B.Left = Forms(Arg0).Controls("Label1").Left
        rb_B.Text = vbcrlf & "B." & dr("选项_B")
        rb_B.Width = Forms(Arg0).Controls("GroupBox1").Width
        rb_B.TextAlign = ContentAlignment.MiddleLeft
        Forms("窗口12").Controls("GroupBox1").AddControl(rb_B)
       
        '创建选项C
        h = h + rb_B.Height
        rb_C = Forms("窗口12").CreateControl("rb_C", ControlTypeEnum.RadioButton)
        rb_C.Top = h
        rb_C.Left = Forms(Arg0).Controls("Label1").Left
        rb_C.Text = vbcrlf & "B." & dr("选项_C")
        rb_C.Width = Forms(Arg0).Controls("GroupBox1").Width
        rb_C.TextAlign = ContentAlignment.MiddleLeft
        Forms("窗口12").Controls("GroupBox1").AddControl(rb_C)
       
        '创建选项D
        h = h + rb_C.Height
        rb_D = Forms("窗口12").CreateControl("rb_D", ControlTypeEnum.RadioButton)
        rb_D.Top = h
        rb_D.Left = Forms(Arg0).Controls("Label1").Left
        rb_D.Text = vbcrlf & "D." & dr("选项_D")
        rb_D.Width = Forms(Arg0).Controls("GroupBox1").Width
        rb_D.TextAlign = ContentAlignment.MiddleLeft
        Forms("窗口12").Controls("GroupBox1").AddControl(rb_D)

 

我的选项内容是变动的,RadioButton的宽度根据选项内容自行调整宽度,使内容显示完全,另外也请老师帮看一下,我设定了文本对齐方式,但一直对不齐,我把文件上传上来了

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:考试系统.table


 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110647 积分:563143 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/7 16:38:00 [只看该作者]

对不齐是在前面加了一个回车换行导致的,去掉即可

rb_A.Text = vbcrlf & "A." & dr("选项_A") 

 回到顶部
帅哥哟,离线,有人找我吗?
迷途小童
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:88 积分:613 威望:0 精华:0 注册:2018/6/13 21:37:00
  发帖心情 Post By:2019/12/7 17:18:00 [只看该作者]

谢谢蓝爸,再请教一下的老师,Label1标签不设定宽度显示内容太长,设定宽度后高度又不随显示内容自动调整这个又怎么解决呢,谢谢!


 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110647 积分:563143 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/7 17:29:00 [只看该作者]

高度自动调整

Dim Label1 As WinForm.Label = Forms(Arg0).Controls("Label1")

Label1.Text = StrToWide("(") & pd.Text &  StrToWide(")") & dr("题目内容") & vbcrlf & vbcrlf '显示题目内容
Label1.Width = Forms(Arg0).Controls("GroupBox1").Width - 100

Dim gc As Graphics = BaseMainform.CreateGraphics()
Dim size As SizeF = gc.MeasureString(Label1.Text, Label1.Font,Label1.Width)
Label1.Height = size.Height 

 回到顶部
帅哥哟,离线,有人找我吗?
迷途小童
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:88 积分:613 威望:0 精华:0 注册:2018/6/13 21:37:00
  发帖心情 Post By:2019/12/7 17:49:00 [只看该作者]

老师,我测试了,还是行,没有变化的图片点击可在新窗口打开查看

 回到顶部
总数 21 1 2 3 下一页