| 发表于:2007-01-21 01:06:45 楼主 |
代码: using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.text; using system.windows.forms; using system.diagnostics; namespace windowsapplication1 { public partial class form1 : form { public form1() { // //required for windows form designer support // initializecomponent(); // //todo:add any constructor conde after initializecomponent call // linklabel1.links.clear(); //清楚链接标签中的所有超级链接 linklabel1.links.add(2,24, "http://www.microsoft.com "); linklabel1.links.add(29,5, "http://www.yahoo.com "); getfontfamilies(); cbxfont.selectedindex = 1;//设置当前的选择项 lbxsize.selectedindex = 1; } private string[] fontfamilynames; /// <summary> /// 获取主窗体支持的字体族 /// </summary> private void getfontfamilies() { graphics g = this.creategraphics(); fontfamily[] ffs = fontfamily.getfamilies(g); fontfamilynames=new string[ffs.length]; for (int i = 0; i < ffs.length; i++) { fontfamilynames[i] = ffs[i].name; cbxfont.items.add(ffs[i].name); } } private void cbxfont_selectedindexchanged(object sender, eventargs e) { float fontsize; //从列表框lbxsize中获取字体的大小 if (lbxsize.selectedindex == -1) fontsize = float.parse(lbxsize.items[1].tostring()); else fontsize = float.parse(lbxsize.selecteditem.tostring()); //创建新的字体对象并不它赋给文本框控件txtedit txtedit.font = new font(cbxfont.text, fontsize); } private void lbxsize_selectedindexchanged(object sender, eventargs e) { string fontname; //从组合框cbxfont中获取字体族的名称 if (cbxfont.selectedindex == -1) fontname = cbxfont.items[32].tostring(); else fontname = cbxfont.text; txtedit.font=new font(fontname,float.parse(lbxsize.selecteditem.tostring())); } private void btncopy_click(object sender, eventargs e) { if (txtedit.selectionlength > 0) txtedit.copy(); } private void btncut_click(object sender, eventargs e) { if (txtedit.selectionlength > 0) txtedit.cut(); } private void btnpaste_click(object sender, eventargs e) { txtedit.paste(); } private void btnundo_click(object sender, eventargs e) { if (txtedit.canundo == true) { txtedit.undo(); txtedit.clearundo(); } } private void linklabel1_linkclicked(object sender, linklabellinkclickedeventargs e) { //打开浏览器浏览被单击的超级链接 if(e.link.linkdata.tostring() != null) process.start(e.link.linkdata.tostring()); } private void cbxfont_measureitem(object sender, measureitemeventargs e) { //设定每一项的宽度和高度 e.itemheight = 20; e.itemwidth = 200; } private void cbxfont_drawitem(object sender, drawitemeventargs e) { //以不同的字体显示相应的字体族的名称 font f = new font(fontfamilynames[e.index], 12); bitmap bmp = new bitmap( "ttfont.bmp "); bmp.maketransparent(color.white); graphics g = e.graphics; e.drawbackground(); solidbrush b = new solidbrush(e.forecolor); g.drawimage(bmp,e.bounds.x,e.bounds.y); //g.drawimage(fontfamilynames[e.index],f,b,e.bounds.x+18,e.bounds.y); g.drawstring(fontfamilynames[e.index], f, b, e.bounds.x + 18, e.bounds.y); e.drawfocusrectangle(); } } } 出现了一个argumentexception异常 怎么解决呢? 谢谢各位!! |
|
|
|
|