跪求 HAMMER_HEAD] 魔法少女小圆アイリ~生意気泥棒娘にお仕置き☆~的百度云

2680人阅读
在Windows资源管理器中,当把鼠标指针移动到TreeView控件和ListView控件之间时,可以左右拖动鼠标调整TreeView控件和ListView控件在主窗口中的大小比例,以适应不同显示内容的需要。我们可以使用SplitContainer控件实现这种功能。
  可以将SplitContainer控件看做是一个复合体,它是由一个可移动的拆分条分隔的两个面板。当鼠标指针悬停在该拆分条上时,指针将相应地改变形状以显示该拆分条是可移动的。使用SplitContainer控件,可以创建复合的用户界面(通常,在一个面板中的选择决定了在另一个面板中显示哪些对象)。这种排列对于显示和浏览信息非常有用。拥有两个面板使你可以聚合不同区域中的信息,并且用户可以轻松地使用拆分条(也称为&拆分器&)调整面板的大小。
  首先将RssTreeView和RssListView控件的Dock属性都设置为None,然后适当缩小这两个控件的大小,留出一定的主窗体空白区域。然后从工具箱中拖放一个SplitContainer控件到主窗体的空白区域,这时在该控件中的左右两侧会出现Panel1和Panel2两个容器,在这两个容器中放置的控件可以调整大小比例,用户使用拆分条调整的就是这两个容器的大小。把一个Label控件拖放到Panel1中,将Text属性设置为RSS文档列表,将Dock属性设置为Top;然后把RssTreeView控件拖放到Panel1中,将RssListView控件拖放到Panel2中,然后将这两个控件的Dock属性都设置为Fill,填充满各自所在的Panel。
将SplitContainer控件的Dock属性设置为Fill,填充满整个主窗体;将FixedPanel属性设置为Panel1,这样在调整主窗体的大小时,Panel1面板的大小默认不变;将Panel1MinSize属性设置为50,该属性设置Panel1容器的最小宽度;同样地,将Panel2MinSize属性设置为100。属性Panel1Collapsed和Panel2Collapsed分别设定Panel1和Panel2两个容器是否被折叠,所谓折叠即是否隐藏某一个Panel。属性SplitterDistance设置拆分条与SplitContainer控件左边的距离。属性SplitterIncrement设置用户拖动拆分条时,每次移动的距离。属性SplitterWidth设置拆分条的宽度。Orientation属性决定拆分器的方向,而不是决定控件本身的方向。因此,当该属性设置为Vertical时,拆分器将垂直放置,从而产生左面板和右面板。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:570236次
积分:5439
积分:5439
排名:第4716名
原创:25篇
转载:347篇
评论:33条
(1)(1)(5)(7)(2)(32)(38)(15)(2)(10)(1)(2)(1)(9)(1)(16)(27)(8)(5)(4)(15)(4)(3)(2)(2)(8)(6)(12)(4)(2)(7)(8)(22)(37)(5)(1)(13)(8)(17)(2)(5)小弟我用SplitContainer分割窗体,改变大小后,里面的控件的dock不会随之而变,请教为什么,多谢 - C#当前位置:& &&&小弟我用SplitContainer分割窗体,改变大小后,里面小弟我用SplitContainer分割窗体,改变大小后,里面的控件的dock不会随之而变,请教为什么,多谢&&网友分享于:&&浏览:254次我用SplitContainer分割窗体,改变大小后,里面的控件的dock不会随之而变,请问为什么,谢谢!我用SplitContainer分割窗体,左面的是treeview,右面的是tabcontrol,当SplitContainer的左右大小改变后,treeview的dock会随之填充,但tabcontrol的却不会,留出了空白,要在各TABpage之间点击一次,才会随之填充,请问为什么?谢谢------解决方案--------------------设置TabControl的Anchor属性看看
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有使用SplitContainer来实现隐藏窗口的部分内容(转)
时间: 20:59:55
&&&& 阅读:162
&&&& 评论:
&&&& 收藏:0
标签:有两种方法:
(1) Splitter:比较老的方法
(2) SplitContainer:比较新的方法
最终界面如下:
方法一:使用Splitter实现
(1) 在窗口中添加一个Panel控件,即Panel1
将其Dock属性设为Right,这样Panel1就停靠在了窗口最右侧;
(2) 在窗口中添加一个Splitter控件,即Splitter1
将其Dock属性设为Right,这样Splitter1就停靠在了Panel1的左边缘;
将其Size属性中的X设为1,这样Splitter1几乎不可见;
将其Visible属性设为false,这样Splitter1就不能用于手工调整;
注意:此时,Splitter1.MinSize就不管作用了(MinSize属性是用来限制Splitter1拖动时,不至于Panel1太小而无法使用的)
(3) 设置Int型的变量:
private int originW
用来存储初始的Panel1的宽度,在显示Panel1时使用。
(4) 添加隐藏按钮hideBtn的双击事件,代码如下:
[csharp]&&
private&void&hideBtn_Click(object&sender,&EventArgs&e)&&
&&&&originWidth&=&panel1.W&&
&&&&panel1.Width&=&0;&&&&&&&&&&
即设置panel1.width来实现
(5) 添加显示按钮showBtn的双击事件,代码如下:
[csharp]&&
private&void&showBtn_Click(object&sender,&EventArgs&e)&&
&&&&panel1.Width&=&originW&&
走过的弯路(希望大家有借鉴):
(1) 刚开始想通过Splitter1.Location属性来设置Splitter1的位置
[csharp]&&
Splitter1.Location=new&Point(this.width,&0);&&
但是始终不行,在设置完之后,又会自动回复,没有变化。
(2) 后来想想,可能是由于Splitter1是Right停靠的,由于Panel1的关系,所以不能自动调整Location属性
所以,把Panel1的Location也进行了设置
[csharp]&&
splitter1.Location&=&new&Point(this.Width,&0);&&
splitter1.MinSize&=&0;&&
panel1.Location&=&new&Point(this.Width,&0);&&
发现还是不行,无解了简直...
后来高手的提示下,修改了panel1.width=0,才告一段落
方法二:使用SplitContainer实现
SplitContainer控件的使用比较简单,封装了三个控件:Panel1, Splitter(没说名字), Panel2
关键属性:SplitContainer.SplitterDistance
该属性可以设置拆分器离&SplitContainer&的左边缘或上边缘的位置
(1) 在窗口上添加一个SplitContainer控件;
(2) 设置一个Int型的变量,用来存储SplitContainer.Panel1的宽度;
private int originW
(3) 添加隐藏按钮hideBtn双击事件,代码如下:
[csharp]&&
private&void&hideBtn_Click(object&sender,&EventArgs&e)&&
&&&&origionWidth&=&splitContainer1.Panel1.W&&
&&&&splitContainer1.SplitterDistance&=&splitContainer1.W&&
(4) 添加显示按钮showBtn双击事件,代码如下:
[csharp]&&
private&void&showBtn_Click(object&sender,&EventArgs&e)&&
&&&&splitContainer1.SplitterDistance&=&origionW&&
走过的弯路:
SplitContainer.SplitterIncrement属性:
获取或设置一个值,该值表示拆分器移动的增量(以像素为单位)
本来想着,既然表示拆分器的移动增量,应该可以的吧
结果也是不好使
代码也不难,但是碰到了很多难缠的问题。
也可能那些属性可行,但是方法不对。待以后研究吧标签:
&&国之画&&&& &&&&chrome插件
版权所有 京ICP备号-2
迷上了代码!}

我要回帖

更多关于 魔法少女小圆 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信