日期:2014-05-19  浏览次数:20762 次

C#的windows窗体中如何实现窗体的动态变化?
按一下某个按钮,窗体中的某一部分控件消失,同时窗体也缩小,比列适当;再按一下按钮,控件复原,同时窗体也复原.如何实现?

------解决方案--------------------
Mark
------解决方案--------------------
this.Size=new System.Drawing.Size(368, 344);
这个窗口的大小根据自己的情况设置;
------解决方案--------------------
窗体中的某一部分控件消失
控件的位置的是死的, 在就是缩放的时候必须 不在控件显示的位置..
------解决方案--------------------
如果一定要 消失 我建议写代码使他不可见
------解决方案--------------------
建议写在Leave()事件里
------解决方案--------------------
控件肯定要隐藏,我的代码仅仅实现调整窗口大小;
------解决方案--------------------
是不是点击按键就会展开部分窗口面积,那里含控件
再点击按键就会收缩,从而隐藏那些控件这种效果啊

如果这样的话

this.Size=new System.Drawing.Size(368, 344);

这种方法也可以达到,只要控件摆放的位置适当,新窗口大小调整适当
------解决方案--------------------
控件可以隐藏,窗口大小可以调整。
方法一:比如说一个窗口(0, 0, 800, 600),这个窗口是以(0,0)为坐标,大小是800*600,然后你有一个按钮,在窗口800*600的时候,它的坐标是(20,20),大小是(10,10),如果窗口改变大小了(400*300),你可以用绝对坐标把按钮的坐标改成为(10,10),大小改成(5,5),这个界面不就改变了嘛。
方法二:用相对坐标,这个比较实用。还是举这个例子,窗口(0,0,800,600),按钮的大小和位置都可以根据窗口的大小来改变。按钮的横坐标是窗口大小的1/40,纵坐标是窗口大小的1/40,长为窗口大小的1/80,宽为窗口大小的1/80,如果改变窗口大小的话,按钮的位置和大小也就改变了。不过这个需要精确计算,反复调试。