=
new
Font("宋体",textBox1.Font.emsize,textBox1.Font.style)是给textbox1设置文本,不是字体。改为:
textBox1.Font
=
new
Font("宋体",
textBox1.Font.Size,
textBox1.Font.Style)//注意大小写
不过你这样没用啊,字体没有任何变化。你可以:
textBox1.Font
=
new
Font("楷体",
10,FontStyle.Bold)//参数是可以变的
1、没有办法,只能new一个对象出来。2、谁说只可以设置一个样式?
Font对象的构造函数有13个重载,你可以根据需要来决定使用哪一个构造函数。
就拿你调用的那个重载版本来说。
应该是下面这个版本吧:
public Font (
FontFamily family,
float emSize,
FontStyle style
)
参数
family
新 Font 的 FontFamily。
emSize
新字体的全身大小(以磅值为单位)。
style
新字体的 FontStyle。
第三个参数就是用来设置字体样式的,FontStyle是个枚举类型,可以从MSDN里查到它的说明如下:
FontStyle 枚举
指定应用到文本的字形信息。
此枚举有一个 FlagsAttribute 属性,允许其成员值按位组合。
而它的成员如下:
成员名称 说明
Bold 加粗文本。
Italic 倾斜文本。
Regular 普通文本。
Strikeout 中间有直线通过的文本。
Underline 带下划线的文本。
那么,只需要将第三个参数,把 Bold 和 Italic 组合起来就可以了。
Font f = new Font( "宋体", 15, FontStyle.Bold | FontStyle.Italic )
---补充的回答---
常规从理论上,当然不能跟粗体一起使用,但这不是设计者的问题,而是使用时应当注意的问题。作为设计者的观点出发,使用这样的取值方式,主要是为了各种样式可以自由组合,而且可以很方便的进行区分,你可以参与一下 *** 作系统的很多内部处理结构,都是用类似的方式来实现的。比如一个文件的属性,只读,只写,读写等等。FontStyle也是如此,你所说的把普通和粗体一起使用,结果为粗体,可以这么理解,.net内部发现这两个是冲突的,它自己有一个预先定义好的取值优先级,而在这里,它决定忽略普通,取粗体,所以得到了上述结果。
'我给你找到了,设置region属性就可Private Sub PictureBox1_DoubleClick(sender As System.Object, e As System.EventArgs) Handles PictureBox1.DoubleClick
If PictureBox1.Region Is Nothing Then
Dim path As New System.Drawing.Drawing2D.GraphicsPath
path.AddEllipse(0, 0, 200, 200)
PictureBox1.Region = New Region(path)
Else
PictureBox1.Region = Nothing
End If
End Sub
'这个双击图片框使其变形,通过GraphicsPath对象可以作出各种形态来,比如可作出文字形状
Dim stringText As String = "我是谁"
Dim family As New FontFamily("Arial")
Dim myfontStyle As Integer = CInt(FontStyle.Italic)
Dim emSize As Integer = 86
Dim origin As New Point(20, 20)
Dim format As StringFormat = StringFormat.GenericDefault
path.AddString(stringText, family, myfontStyle, emSize, _
origin, format)
PictureBox1.Region = New Region(path)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)