- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C 巧用anchor和k设计复杂界面(控件随着窗体大小的变化而变化)【转】
这个在做winform程序的空间编程的时候遇到过太多次了,自己也想留下点经验,搜索了一下,这篇文章很好很强大了,感谢博主“驴子的菜园”。
程序界面如上
各部分简要说明: 整个窗体上覆盖一个splitcontainer。
splitcontainer的panel1上放置一个label与一个treeview.
splitcontainer的panel2上放置一个tabcontrol.
tabcontrol上面有两个tabpage
tabpage1上放置一个组合框,按钮两个。go 为button1,back 为button2.下面是一个webbrowser
tabpage2上放置了依次放置的控件为label 2,textbox1,label3,textbox2(具有multiline属性)
tabcontrol下方放了四个按钮。依次为button3,button4,button5,button6
下面简要介绍下dock和anchor的意义:
dock属性控制子控件在父窗口的停靠位置;anchor属性控制子控件与父控件之间的距离(自己动手试一下就明白了)
下面介绍各个控件的dock和anchor属性设置情况:
splitcontainer1:
1.anchor:top left;
2.dock :fill(充满整个窗体,使splitcontainer的大小随着winform的大小的改变而改变);
?
label1:
1.anchor: top left;
2.dock :none;
?
treeview1:
1.anchor:top left bottom right(即使窗体变化时,保持treeview1的四个边距离其父控件的距离不变,也就是treeview1跟着变大的意思);
2.dock:none;
?
tabcontrol1:
1.anchor:top left
2.dock:fill;
combobox1:
1.anchor:top left right(即当窗体变化时此控件的上边,左边,右边距离父控件的位置不变);
2.dock:none;
?
button1(go),button2(back):
1.anchor: top right;
2.dock:none.
?
webbrowser1:
1.anchor:top left right bottom
2.dock:none
?
tabpage2 上的 label2,label3 设置如label1;
textbox2,textbox3设置如combobox1
下面介绍四个button如何设置
我们设置button3(帖子提取)的anchor为? left,bottom,dock 为none;其他button的anchor属性设置为bottom,dock属性设置为none;
??? 当窗体长度发生变化时,我们将tabcontrol的长度分成四份(因为有四个button)。a1,a2,a3,a4,分别配给每个button。每个 button的长度为其所占用长度的3/4(这个可以随意设)代码如下:
?
窗体变化也button变化?private?void?Form1_Resize(object?sender,?EventArgs?e){int?length?=?this.tabControl1.Width?/?4;int?s=length*3/4;button3.Width?=?s;button4.Width?=?s;button5.Width?=?s;button6.Width?=?s;button4.Location?=new??Point(button3.Location.X?+?length,?button3.Location.Y);button5.Location?=?new?Point(button4.Location.X?+?length,?button4.Location.Y);button6.Location?=?new?Point(button5.Location.X+length,?button5.Location.Y);}
注意:要在form1_load中加入代码句:?this.Resize += new System.EventHandler(this.Form1_Resize);//托管
?
当我们拖拽splitcontainer时也应该有button变化。故设计代码如下:
?
窗体不变,panel1和 pannel2相对变化,button也变化?private?void?splitContainer1_SplitterMoved(object?sender,?SplitterEventArgs?e){in
您可能关注的文档
- Animating Humans Dynamically Simulated Characters in Virtual Environments.pdf
- AnInvestmentFrameworkforCleanEnergyandDevelopment.pdf
- ANSYS 的内存管理和使用.doc
- ANSVMSCORERFORMORESENSITIVEANDRELIABLEPEPTIDEIDENTIFICATIONVIATANDEMMASSSPECTR.pdf
- ANSYS变量与函数及表达式.doc
- ansys命令中英文解释.doc
- ANSYS基本分析过程.ppt
- ANSYS软件中常用英语单词或词组.doc
- ansys平面计算方法介绍.pdf
- ANSYS电磁场分析例子.ppt
- CNAS-CL63-2017 司法鉴定-法庭科学机构能力认可准则在声像资料鉴定领域的应用说明.docx
- 12J7-3 河北《内装修-吊顶》.docx
- 12N2 河北省12系列建筑标准设计图集 燃气(油)供热锅炉房工程.docx
- 内蒙古 12S8 排水工程 DBJ03-22-2014.docx
- 山西省 12S10 12系列建筑标准设计 管道支架、吊架.docx
- 16J601-木门窗标准图集.docx
- 12J8 河北省12系列《 楼梯》.docx
- CNAS-GL37 2015 校准和测量能力(CMC)表示指南.docx
- CNAS-RL02-2016 能力验证规则.docx
- 津02SJ601 PVC塑料门窗标准.docx
文档评论(0)