1、显示窗口的两种方式:
(1)非模态(Modaless):Show
(2)模态(Modal),阻塞主窗口:ShowDialog()
两者的区别是:在非模态窗口中,弹出对话框后,鼠标还可以点击移动主窗口;在模态窗口中,弹出对话框后,鼠标就不能再动主窗口了。
2、主窗口和对话框之间传递参数,在对话框中声明属性,主窗口给对话框传递值通过参数赋值,对话框在OnLoad中读取参数值,对话框通过属性也返回值给主窗口。例子:开发收集输入的对话框InputDialog。设定对话框按钮的DialogResult属性,就可以关闭窗口(只有ShowDialog出来的界面才会这样)。不要直接访问其他窗口的控件。
3、、MDI风格:(使弹出的新窗口始终在父窗口中)
(1)form.MdiParent = this;
(2)把主窗口的IsMDIContainer设为true
(3)如何使每个界面只能打开一个?有时间再去思考吧。
二、开发登陆界面
4、暂时不用数据库做登录。Application.Run的窗口不能作为登录界面,因为Application.Run 起来的窗口是主窗口,主窗口适合长期显示,主窗口一旦关闭程序就终止了。
5、专业化的登陆界面:
- 启动时窗口位于屏幕中央StartPosition=CenterScreen
- 设定AcceptButton,当点击回车键要响应的按钮,这样不用很土的点击按钮才能触发。设定CancelButton,当点击ESC键时要响应的按钮。
- 设定按钮的DialogResult,当点击按钮的时候窗口关闭,并且执行操作。设定窗口的DialogResult即可关闭窗口并且让ShowDialog方法返回设置的值。
- 对话框的风格,不能随意的拖放大小、最大化FormBorderStyle=FixedDialog MinimizeBox=False MaximizeBox=False
6、注释常见错:*/中间不能有空格。