/*
//第二十二章Windows Forms应用程序进阶
学习内容
如果使用各种控件构建应用程序GUI
如何在应用程序中显示Web页面
如何操作控件容器
如何创建和显示消息框
22.1 创建应用程序API
我要对购彩票发表一点看法,我们可能不会选择数字1-6作为自己的彩票号码,因为这样的一组号码中奖的可能性非常低,当然,事实上这组号码中奖的可能性与我们选择的任何一组看起来随机的号码一样高(或低),但是,数字1-6在任何地方的任何彩票上都从来没有成为过中奖号码,因此可以得出的结论是:无论我们选择什么号码,结果都一样--输
22.1.1 添加选项卡控件
22.1.2 命名用GroupBox控件
22.1.3 使用Button控件
22.1.4 使用WebBrowser控件
22.1.5 Winning应用程序的操作
22.1.6 添加上下文菜单
22.1.7 创建事件处理程序
1 菜单项的事件处理程序
private: System::Void playpMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
}
参数一: 引用产生该事件的控件的句柄
参数二: 提供与该事件有关的信息,当调用某个事件处理程序时,第一个实参的类型对应于产生该事件的控件的类型
2 给Form1类添加成员
3 处理Play菜单的事件
playMenuItem_Click()处理程序应该在当前可见的选项卡的按钮上创建一组新号码
Looto彩票记录的创建分为三步
(1) 创建容纳数值的数组
(2) 调用GetValues()函数生成数值
(3) 调用SetValues()函数生成的数值设置为按钮上的文本
22.1.8 处理Limits菜单的事件
22.1.9 创建对话框
1 给ListBox添加列表
ListBox控件包含的列表是一组被存储为Object^类型句柄的对象,因此任何类的对象都可以存储在列表中,
2 处理对话框按钮事件
3 控件ListBox对象的状态
4 创建对话框对象
From1类的构造函数可以创建对话框对象,还可以初始化对话框中的ListBox对象,给Form1类添加一个私有成员,以存储指向对话框的句柄
22.1.10 使用对话框
我们将在Limits菜单的Upper和Lower菜单项的Click事件处理程序中使用对话框可用,为了使之作为模态对话框显示,调用对话框对象的ShowDialog()函数,也可以选择将向父窗体的句柄作为实参传给ShowDialog()函数
1 验证输入的有效性
2 Reset菜单项的事件处理程序
22.1.11 添加第二个对话框
1 获得来自支话框控件的数据
ComboBox控件的SelectItem属性返回的值属于Object^类型,因此为稳妥起见,我们要检查一下该值是否为空,如果是空值,就把局部就量设置为对话框对象中存储的当前值
如果不是空值,就存储SelectedItem属性表示的数值,不能直接存储该数值,而应该为该对象调用ToString()函数,产生该对象的字符串表示,然后使用Int32类中的静态Parse()函数,将其转换为可以存储的int类型
2 禁用输入控件
3 更新Limits菜单项的处理程序
22.1.12 实现Hlep | About 菜单项
22.1.13 处理按钮单击事件
单击某个按钮应该把该按钮上的数值修改为新的随机数,当然,新的随机数必须与其他按钮上的数值不同,还必须与该按钮上原来的数值不同,顺序给出整组数值是个好注意,但这可能使新值出现在某个不同的按钮上,因此使数值不按顺序显示可能更好的
22.1.14 响应上下文菜单
Choose菜单项找不到
1 处理Choose菜单项的逻辑
(1) 显示一个允许输入数值的对话框
(2) 检查输入值是否有效,即是否不超出范围,并且与其他按钮不同
(3) 如果输入值无效,则显示相应的消息框,并允许重新输入或取消对话框操作
(4) 如果输入值有效,则使用新值更新被右击的按钮
2 创建对话框窗口
3 开始对话框类
4 处理Choose菜单项的Click事件
22 小结
1 应用程序窗口是客体 窗体是由派生自System::Form类的类定义的
2 对话框窗口是FormBorderStyle属性值被设置为FixedDialog的窗体
3 通过调用对话框的ShowDailog()函数,可以创建模态对话框;而调用Show()函数将创建非模态对话框
4 通过设置对话框以象的DialogResult的属性值,可以控件是否关闭对话框
5 ComBoBox控件组合了ListBox和TextBox控件的功能,既允许从列表中选数据项,也允许从键盘上输入新的数据项
6 NumericUpDown控件允许用户以给定的步进量,从给定范围内一步步递增或递减数值,从而提供数值型数据
7 在Form Design选项卡中双击某个控件,可以添加该控件的Click事件处理程序的定义,
8 可以通过Propertis窗口,把现有的函数指定为某个控件特定事件的处理程序,在Properties窗口中单周Events按钮,可显示出控件的事件列表
9 只应该通过Properties窗口修改自动生成的类成员的名称,而不能直接使用代码编辑器
*/