Chinaunix首页 | 论坛 | 博客
  • 博客访问: 455339
  • 博文数量: 724
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:47
文章分类

全部博文(724)

文章存档

2011年(1)

2008年(723)

我的朋友

分类:

2008-10-13 16:56:59

环境


Windows Server 2003
Visual Studio 2003 v7.1.3091
.NET Framework v1.1.4322

 

重现步骤


1. 在VC#.NET中新建一个“Windows应用程序”项目。
2. 设置Form1的Locked属性为true。
3. 设置Form1的MaximizeBox属性为false。

 

结果


尽管这个Form1在VC#.NET IDE的编辑器中确实无法修改大小,但编程生成EXE文件并执行时,仍可以拖动窗口的边框,改变窗口的大小。

 

期望结果


Form1的大小应该不能被改变

 

目前想到的解决办法


映射Form1的SizeChanged事件成这样:
private void Form1_SizeChanged(object sender, System.EventArgs e)
  {
   //这里Size类的构造参数即我们在IDE里编辑出来的Form1的大小
   this.ClientSize = new System.Drawing.Size(304, 416);
  }

最后想说的是:这不是一个Bug! :-D

这个Locked只是一个设计属性,要真正固定Form的大小,可选的方式:

  1. 设置Form的Maxinumsize与MininumSize属性,把这两者设置得与Form的Size属性一样就可以了。
  2. 象我那样映射Form的SizeChanged事件。
  3. 通过设置FormBorderStyle属性为FixedSingle。

posted on 2004-08-22 09:57 Abbey的网络日志 阅读(1088)   


--------------------next---------------------

阅读(210) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~