没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|其它|编辑:郝浩|2005-12-15 10:24:00.000|阅读 1549 次
概述:本篇着重讨论如何向表单中添加控件、处理控件事件以及使用编程等内容。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
上一篇我们着重讨论了用托管C++开发Win表单的一般方法,本篇着重讨论如何向表单中添加控件、处理控件事件以及使用编程等内容。
一、控件的添加
Windows表单的缺省界面是一个类似于MFC对话框的一个窗口,但是在托管C++中却没有像Visual C++那样提供可视化的对话框编辑器,这不能不是一种遗憾,期待Visual C++.NET的下一版本或第三方开发提供这方面的支持。因此,在托管C++中为Win表单添加控件只能手动进行。虽然,这听起来很可怕,却能帮助我们充分理解它们的工作原理,甚至是内层机制。那么,如何向表单中添加控件呢?我们先来看看下面的程序代码:
#using using namespace System; // 添加WinForms所需要的dlls和所需要的名称空间(同上一篇程序) ... // 定义一个__gc托管类,包含创建表单的所有代码 __gc class WinForm: public Form { private: Button *closeButton; public: WinForm() { InitForm(); // 调用自定义的表单初始化代码 } void Dispose() // 表单释放,类似于析构函数 { // 所有的删除代码添加在这里 Form::Dispose(); // 默认的释放操作 } void InitForm() // 所有的表单代码都添加在该方法中 { Text = S"用托管C++开发Win表单应用程序"; // 设置表单窗口标题 closeButton = new Button(); closeButton->Text = S"退 出"; closeButton->TabIndex = 0; closeButton->Size = Drawing::Size(80,23); closeButton->Location = Drawing::Point(Width-100,Height-60); Controls->Add(closeButton); } }; #ifdef _UNICODE int wmain(void) #else int main(void) #endif { Application::Run(new WinForm()); // 启用应用程序,运行该类 return 0; }
从上面的代码可以看出,添加控件的一般过程如下:
(1) 定义一个托管控件类的指针变量,如上面的*closeButton。常用的托管控件类有:按钮类(Button)、复选框类(CheckBox)、带复选框的列表框类(CheckedListBox)、组合框类(ComboBox)、标签类(Label)、可链接的标签类(LinkLabel)、列表框类(ListBox)、单选按钮类(RadioButton)、文本框类(相当于MFC中的编辑框)(TextBox)等,事实上Win表单所提供的托管控件类要比MFC中的控件类要丰富得多,这一点可以从MSDN中得到证实。
(2) 创建该控件,如上面的closeButton = new Button();
(3) 设置控件的属性,这些属性包括大小、位置、颜色以及可见与否等公共属性,具体如表1所示。
Anchor
类 别 | 属 性 | 说 明 |
位置和大小 | Size | 控件的大小 |
Height | 控件的高度 | |
Width | 控件的宽度 | |
Location | 控件左上角在父窗口(容器)中的具体坐标值 | |
Left | 控件左边在父窗口(容器)中的X坐标值 | |
Right | 获取控件右边与父窗口(容器)右边的X距离 | |
Top | 控件上边在父窗口(容器)中的Y坐标值 | |
Bottom | 获取控件下边与父窗口(容器)下边的Y距离 | |
文本、颜色和字体 | Text | 控件相关的文本 |
BackColor | 控件的背景颜色 | |
ForeColor | 控件的前景颜色 | |
BackgroundImage | 控件的背景图像 | |
Font | 控件的字体 | |
其他 | AllowDrop | 是否允许控件的数据能够进行拖放操作 |
Anchor | 控件的哪一边和父窗口(容器)边框保持距离不变 | |
Cursor | 当用户的鼠标移至控件上时所显示的鼠标指针(光标) | |
Dock | 控件停靠在父窗口(容器)的哪一边 | |
Enabled | 该控件是否被激活 | |
Name | 控件所指定的名称 | |
TabIndex | 控件的TAB键选择次序 |
(4) 将创建的控件添加在由.NET Win表单类所指定的Controls(控件)容器中,即有程序:
Controls->Add(closeButton);
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号