随笔分类 -  C#_窗体

摘要:模态窗体(ShowDialog)打开后,后面的主窗体就不能做任何操作了。本博客要实现非模态窗体(show)实现模态窗体(ShowDialog)的一些效果(主窗体关闭,子窗体也要关闭。子窗体只能打开一个。)同时,保留非模态窗体的一些特性(主窗体和子窗体都能操作,比如文本的书写等)。现实的一些用处:1、比如要在主窗体中写已有的内容,用子窗体显示这些已有的内容(一般信息比较多,无法在主窗体中用某个空间显示完全)以供参考。2、直接点击子窗体中的信息,在主窗体中显示出来。等等代码如下:FormA----主窗体FormB----子窗体view plaincopy to clipboardprint? 阅读全文
posted @ 2011-03-21 16:09 许明吉博客 阅读(8637) 评论(0) 推荐(0)
摘要:假设你有form1和form2两个窗口类,在form1中创建子窗口form2有两种情况:创建模态对话框form2和创建非模态对话框form2: 一、如果创建模态对话框,如下有两种情况,其中有一种是错误的,是一定要避免的: 错误的情况,如下: form1中 private void button1_Click(object sender, EventArgs e) { Form2 fm = new Form2(); fm.ShowDialog();//创建模态对话框 fm.Owner = this;此句在fm.ShowDialog();后面 } form2中 private void butto 阅读全文
posted @ 2011-03-21 16:05 许明吉博客 阅读(1028) 评论(0) 推荐(0)
摘要:何谓模态窗体?简单的可以理解为窗体对话框,用户必须在完成该窗体上的操作或关闭窗体后才能返回打开此窗体的窗体。本文不对模态窗体的定义、特征、功能做具体讨论,主要把重点放在如何在.net窗体应用程序中有效的使用模态窗体,解决使用模态窗体中碰到的常见问题。 模态窗体的属性设置 在.net中一个System.Windows.Forms.Form类就表示一个窗体,通过visual studio 2005设计器能够直接添加窗体,切换到设计模式,在属性窗口中会显示属于该窗体的属性和事件。参照标准的模态窗体,以visual studio 2005程序的菜单工具->选项打开的那个选项对话框为例,对于设计器 阅读全文
posted @ 2011-03-21 16:03 许明吉博客 阅读(1242) 评论(0) 推荐(0)
摘要:在日常开发中,经常要打开一个模态窗体,在模态窗体中选择某一项,然后把这项的ID或者Name赋值给打开这个模态窗体的窗体…… 在Windows 客户端中,要实现这样的功能是非常简单的,代码也会很优美。当然,这与个人的写法有关系。 比较优美的方式有2种,一种是使用interface编写观察者模式,一种就是使用事件委托。既然在Windows平台中玩耍,那就采用更加灵活的事件委托方式来实现吧。 废话少说,我们来看实现代码吧。(红色加粗为主要中的重要代码)模态窗体的主要代码: public partial class SelectForm : Form { public event Action< 阅读全文
posted @ 2011-03-21 16:03 许明吉博客 阅读(1576) 评论(0) 推荐(0)
摘要:很多专业软件在启动前都会显示一个说明该软件信息或用途的窗口,有的则是一个漂亮的启动界面,如Adobe公司的Acrobat。该窗口使软件显得更加专业。本例将实现一个半透明的渐显窗体,运行本软件会显示一个启动画面,并且画面会将完全透明慢慢到半透明的效果显示在用户面前。效果如图1.29所示。实现过程(1)创建一个项目,将其命名为Ex01_29,默认窗体为Form1。(2)在Form1窗体中设置背景图片,添加Timer控件用来触发渐变事件。(3)设置Timer控件的Enable属性为True,设置Interval属性为1000。(4)主要程序代码。 private void timer1_Tick(o 阅读全文
posted @ 2011-03-18 10:18 许明吉博客 阅读(3488) 评论(0) 推荐(0)
摘要:C#Invalidate();DelphiRepaint; 阅读全文
posted @ 2011-03-16 15:34 许明吉博客 阅读(2506) 评论(0) 推荐(0)