vb.net - 如何在 vb.net 中的单选按钮选项文本上使用不同的字体样式(粗体和常规)
问题描述
我需要在单选按钮选项中将部分文本加粗
我需要实现这个输出,其中“ Option A: ”字体样式为粗体,“Pasta”只是常规字体样式。单选按钮输出
我试过这段代码,字符串是数据,它没有字体选项
Public Class _1_5_register_event_s2
Private Sub _1_5_register_event_s2_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim optionA As String = "Option A ($0): "
Dim food As String = "Pasta"
optionA = FontStyle.Bold
food = FontStyle.Regular
rb_optionA.Text = optionA & food
End Sub
解决方案
您可以覆盖单选按钮类。
代码:
班级
Public Class XRadioButton
Inherits RadioButton
Public Sub New()
UseVisualStyleBackColor = False
TextImageRelation = TextImageRelation.ImageAboveText
End Sub
Public Overrides Property Text As String
Get
Return ""
End Get
Set(ByVal value As String)
MyBase.Text = value
End Set
End Property
Public Property LeftText As String
Public Property RightText As String
Protected Overrides Sub OnPaint(ByVal pevent As PaintEventArgs)
MyBase.OnPaint(pevent)
Dim rect As Rectangle = ClientRectangle
rect.Inflate(-5, -5)
Using sf As StringFormat = New StringFormat() With {
.Alignment = StringAlignment.Center,
.LineAlignment = StringAlignment.Far
}
Using brush As Brush = New SolidBrush(ForeColor)
Dim font As Font = New Font(Me.Font, FontStyle.Bold)
pevent.Graphics.DrawString(LeftText, font, brush, rect, sf)
sf.Alignment = StringAlignment.Far
pevent.Graphics.DrawString(RightText, Me.Font, brush, rect, sf)
End Using
End Using
End Sub
End Class
形式
Public Class Form1
Private Sub Form1_Load_1(sender As Object, e As EventArgs) Handles MyBase.Load
Dim button As XRadioButton = New XRadioButton()
button.LeftText = "Hello"
button.RightText = "test"
Me.Controls.Add(button)
End Sub
End Class
推荐阅读
- assembly - 为什么获取语义仅用于读取而不是写入?LL/SC 如何在不使用临界区重新排序存储的情况下获取 CAS 锁定?
- node.js - React Native 中的 require() 解析
- node.js - 通过 nodemailer 通过 sendgrid api 发送 PDF 时,PDF 不可读
- python - 使用熊猫将csv导入jupyter
- vue.js - 具有值属性的 vue-i18n $t 未翻译
- c - 通过 C 代码在简单的 shell 上保存历史命令
- mysql - FIND_IN_SET 和截断不正确的 DOUBLE 值错误
- ios - iOS 13+ 中的后台通知中断
- r - 滚动回归回归模型系数提取问题
- sql - Django 单元测试要求删除 MariaDB DB:(1007,“无法创建数据库'test_x_django';数据库存在”)