C#编程之字体编辑器

做实验的时候遇到一题目让写一个修改字体,大小,颜色,外加字型的程序,因为没什么经验,一开始不清楚在C#中如何设定字体等相关数据,后来也是在Form1.designer.cs文件里查到了线索。

System.drawing.Font(string familyName,float emSize,fontstyle style)   familyName:字体 emSize:大小 style:字型

举个例子:

this.textBox1.Font=new System.Drawing.Font(“宋体”,12,System.Drawing.FontStyle.Underline);

为了方便使用,给字体,大小,字型定义一个全局变量,其中style这样定义: FontStyle style=new Fontstyle();

每个单选按钮事件里先给变量赋值,然后再应用给textbox。

字体颜色就简单,使用System.Drawing.Color.Green 之类的

比如

this.textBox1.ForeColor=System.Drawing.Color.Blue;          这就OK了。

最后的字型是三个多选按钮,我们的最终目的是无论单选,二选,还是三选,所有效果都要应用上去,而且取消某个按钮之后,相应的效果也要取消。

N多尝试之后。。。。。。

找到方法:使用运算符‘|’和‘^’     (关于这两个运算符的具体说明大家可以搜索下,微软的MSDN上有详解)

具体使用代码如下:

private void checkBox1_CheckedChanged(object sender, EventArgs e)
       {
           if (checkBox1.Checked)
               FontStyle = FontStyle | FontStyle.Underline;       //利用或运算 连接多个字型 
           else
               FontStyle = FontStyle ^ FontStyle.Underline;
           this.textBox1.Font = new System.Drawing.Font(TextFont, FontSize, FontStyle);    //利用异或去除已经未勾选的 
       }

其他checkbox也以类似的形式编写

最最后,说个发现的问题,就是运行的时候隶书是无法添加下划线的,找了些资料,还是没解决,希望那位知道的留个言啊。

0 条评论