none
winform时遇到的问题 RRS feed

  • 问题

  • 做Winform时,父窗体最大化时,点击按钮打开子窗体。
    子窗体默认是最大化的,但是打开子窗体后,子窗体的width和height并不是最大化的状态,但是右上角的三个窗体控制按钮(最大化,最小化,关闭)已经是子窗体最大化时的状态,这是什么回事?把子窗体还原再最大化,才变成希望的结果。

    在拉改变窗体大小时,如何使其中的控件的大小和间距按比例放大和缩小?
    有人说,充满技术的生活枯燥无味.. 我笑他们不懂.因为只有技术才能充实生活.. 学习就像生活,都需要善于总结,才能发现问题,取得进步.. 生活中充满了数学算式与结构,只要我们善于观察和思考..
    2009年5月13日 14:12

答案

  • 如果Anchor属性不能满足你的要求,需要使用布局面板了,具体用法参考这里:
    http://msdn.microsoft.com/zh-cn/library/w4yc3e8c(VS.80).aspx
    周雪峰
    2009年5月14日 12:57
    版主
  • 除了 Anchor, Dock 同时也可以借助于 TableLayerPanel 在做界面设计,通过设置行和列百分比达到居中,递增间距等
    知识改变命运,奋斗成就人生!
    2009年5月14日 13:01
    版主
  • 在sizechage事件,比较上次与本次form的大小。得出缩放比例。
    然后
    foreach(Control c in form1)
    {// 按比例调整大小。}

    2009年5月14日 22:57

全部回复

  • 子窗体 Load 事件中加入

    private void X200905072043_Load(object sender, EventArgs e)
    {
        this.MaximizedBounds = Screen.FromControl(this).WorkingArea;
        this.Location = new Point(0, 0);
        this.WindowState = FormWindowState.Maximized;
    }


    知识改变命运,奋斗成就人生!
    2009年5月13日 14:48
    版主
  • 补充一下,上面的代码再加一行,也就是这样:
    private void X200905072043_Load(object sender, EventArgs e)
    {
        this.StartPosition = FormStartPosition.Manual;
        this.MaximizedBounds = Screen.FromControl(this).WorkingArea;
        this.Location = new Point(0, 0);
        this.WindowState = FormWindowState.Maximized;
    }
    


    周雪峰
    2009年5月14日 2:24
    版主
  • 那么第二个问题呢?
    “在拉改变窗体大小时,如何使其中的控件的大小和间距按比例放大和缩小?”
    只能添加窗体的Resize事件计算比例吗?
    有人说,充满技术的生活枯燥无味.. 我笑他们不懂.因为只有技术才能充实生活.. 学习就像生活,都需要善于总结,才能发现问题,取得进步.. 生活中充满了数学算式与结构,只要我们善于观察和思考..
    2009年5月14日 11:41
  • 如果Anchor属性不能满足你的要求,需要使用布局面板了,具体用法参考这里:
    http://msdn.microsoft.com/zh-cn/library/w4yc3e8c(VS.80).aspx
    周雪峰
    2009年5月14日 12:57
    版主
  • 除了 Anchor, Dock 同时也可以借助于 TableLayerPanel 在做界面设计,通过设置行和列百分比达到居中,递增间距等
    知识改变命运,奋斗成就人生!
    2009年5月14日 13:01
    版主
  • 在sizechage事件,比较上次与本次form的大小。得出缩放比例。
    然后
    foreach(Control c in form1)
    {// 按比例调整大小。}

    2009年5月14日 22:57
  • 非常感谢大家的热心回复
    非常。
    有人说,充满技术的生活枯燥无味.. 我笑他们不懂.因为只有技术才能充实生活.. 学习就像生活,都需要善于总结,才能发现问题,取得进步.. 生活中充满了数学算式与结构,只要我们善于观察和思考..
    2009年5月15日 11:53
  • 不用客气啊!你的ID很有个性啊!
    但是请问这几个字是读什么,具体是什么意思呢?
    周雪峰
    2009年5月15日 12:37
    版主
  • 独流泪。
    一和三是繁体字。
    二是我的名字的第三个字。
    表现了我的人生和我走的路。
    `
    `
    我追求技术,追求逻辑,追求算法。追求完美。
    但走的路很特别,所以很辛苦,但乐在其中。
    嘿嘿~
    我的MSN:bengua007@hotmail.com
    大家都很厉害的,有时间一起聊聊哦~不过应该都挺忙吧~呵呵。
    有人说,充满技术的生活枯燥无味.. 我笑他们不懂.因为只有技术才能充实生活.. 学习就像生活,都需要善于总结,才能发现问题,取得进步.. 生活中充满了数学算式与结构,只要我们善于观察和思考..
    2009年5月15日 12:42
  • 很高兴认识你啊!
    这是我的MSN:xuefeng1982@live.cn
    周雪峰
    2009年5月15日 13:09
    版主