c_Windows窗体应用程序设计
c语言编写窗体程序
c语言编写窗体程序C语言编写窗体程序序号:1窗体程序是一种图形用户界面(GUI)应用程序,它通过使用窗口、按钮、文本框等可视化元素来与用户进行交互。
C语言是一种通用的编程语言,它也可以用于编写窗体程序。
虽然C语言相对于其他专门用于GUI开发的语言来说,可能会更加复杂一些,但是通过使用合适的库和工具,我们仍然能够编写出功能强大且高质量的窗体程序。
本文将介绍如何使用C语言编写窗体程序,并探讨一些相关的主题和概念。
序号:2编写窗体程序需要选择一个适合的库或框架。
在C语言中,有一些常用的库可以用于GUI开发,例如GTK+、Qt和WinAPI等。
这些库为我们提供了创建窗体、按钮等控件以及处理用户输入的功能。
需要根据自己的需求和偏好选择合适的库。
序号:3一种常用的库是GTK+,它是一个跨平台的GUI库,可以在多个操作系统上运行。
使用GTK+编写窗体程序可以很容易地创建各种控件,并通过信号和回调函数处理用户输入。
GTK+库的安装和配置相对简单,可以在Linux、Windows和Mac等平台上使用。
接下来是一个使用GTK+库编写的简单窗体程序的示例:```c#include <gtk/gtk.h>static void on_button_clicked(GtkWidget *widget, gpointer data) {g_print("Hello, World!\n");}int main(int argc, char *argv[]){gtk_init(&argc, &argv);GtkWidget *window;GtkWidget *button;window = gtk_window_new(GTK_WINDOW_TOPLEVEL);button = gtk_button_new_with_label("Click Me");g_signal_connect(button, "clicked",G_CALLBACK(on_button_clicked), NULL);g_signal_connect(window, "destroy",G_CALLBACK(gtk_main_quit), NULL);gtk_container_add(GTK_CONTAINER(window), button);gtk_widget_show_all(window);gtk_main();return 0;}```序号:4在上述示例中,我们首先包含了GTK+库的头文件,并定义了一个按钮点击事件的回调函数`on_button_clicked`。
C_Winform程序设计1Windows窗体介绍
创建窗体 为窗体添加控件 创建继承窗体 组织窗体上的控件 窗体的用途:自定义窗口 窗体的用途:创建多文档界面应用程序
Windows 窗体和 Web 窗体
创建窗体 设置窗体属性 窗体生命周期 处理窗体事件 Windows 窗体设计器生成的代码
特点
部署 图形
平台 编程模型 安全性
在其代码访问安全性实现中使用 通过验证请求者的凭据, 粒度权限,以保护计算机资源和 按URL控制获得访问Web应用 敏感信息 程序资源的授权
创建一个新的项目的同 时也创建了一个窗体
创建一个新窗体
1.
在解决方案资源管理 器中右键点击 “项 目”
单击“添加” 单击“添加Windows 窗体”
Windows窗体
可不必改注册表运行 GDI+
Web窗体
不需要下载和安装 交互或动态图形的更新需 要往返于服务器
响应
为需要交互的应用程序提供最快 可以利用浏览器的动态 的响应速度 HTML(DHTML)功能来创建丰 富的用户界面(UI)
要求在客户计算机上运行 .NET Framework 基于客户端Win32消息模式 只需浏览器 通过HTTP调用应用程序组 件
SDI
MDI
只有一个文档是可见的 打开一个文档之前,你必须关 闭另一个
同时显示多个文档 每个文档显示在它自己的窗口 中
• 创建一个父窗体
– 创建一个新项目 – 设置IsMdiContainer属性为True – 添加一个菜单项,来触发子窗体
• 创建一个子窗体
– 向项目添加一个新的窗体
• 从父窗体调用子窗体
2. 3.
窗体名:项目中窗体的名称
用C语言写windows窗体程序
很多学C的朋友认为C语言只能写DOS程序,而不能像C#那样写windows窗体的程序,这你可就打错特错了,今天我来简单掩饰下C语言怎么利用windows提供出来的API写windows窗体程序。
开发工具VC6.0,开发平台windows7。
首先第一步,打开VC,新建工程,选择win32 application,如下图然后新建一个C语言源文件,这个就不截图了,如果这也不会的话相信你也不会来看这篇帖子~呵呵建好文件以后把一下代码输入进去。
编译即可~代码讲解会下帖子下方1.#include <windows.h>2.3.LRESULT CALLBACK Windo WP roc(4. HWND hwnd, //handle to window5. UINT uMsg, //message identifier6. WPARAM wParam, //first message parameter7. LPARAM lParam //second message parameter8. );9.10.11.int WINAPI WinMain(HINSTANCE hInstance,12. HINSTANCE hPrevInstance,13. L PS TR lpCmdLine,14. int nShowCmd15. )//入口函数16.{17. WNDCLASS wndclass;18. HWND wndhwnd;19. MSG msg;20. wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//加载图标21. wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);//加载鼠标样式22. wndclass.style=CS_VREDRAW | CS_HREDRAW;//窗口样式23. wndclass.lpfnWndProc=WindowProc;//窗口过程回调函数24. wndclass.cbClsExtra=0;//类额外内存25. wndclass.cbWndExtra=0;//窗口额外内存26. wndclass.hInstance=hInstance;//27. wndclass.hbrBackground=(HBRUSH)GetStockObject(SYSTEM_FONT);//窗口颜色28. wndclass.lpszMenuName=NULL;//窗口菜单29. wndclass.lpszClassName="testWindow";//窗口类名30.31. RegisterClass(&wndclass);32. wndhwnd=CreateWindow("testWindow","windows",WS_OVERLAPPEDWINDOW& ~WS_MAXIMIZEBOX,33. CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,34. NULL,NULL,hInstance,NULL);35. ShowWindow(wndhwnd,SW_SHOWNORMAL);36. UpdateWindow(wndhwnd);37. while(GetMessage(&msg,NULL,0,0))38. {39. TranslateMessage(&msg);40. DispatchMessage(&msg);41. }42.43. return 0;44.}45.46.LRESULT CALLBACK WindowProc(47. HWND hwnd, //handle to window48. UINT uMsg, //message identifier49. WPARAM wParam, //first message parameter50. LPARAM lParam //second message parameter51. )52.{53. HDC hdc,hDC;54. PAINTSTRUCT ps;55. char szchar[20];56. static int i=0;57. switch (uMsg)58. {59. case WM_PAINT://窗口重绘消息,窗口加载和重绘的时候产生该消息60. hdc=BeginPaint(hwnd,&ps);61. TextOut(hdc,0,0,"窗口加载完成",strlen("窗口加载完成"));//往窗口输出文本62. //MessageBox(hwnd,"Hello World","Hi",MB_OK);63. EndPaint(hwnd,&ps);64.65. break;66. case WM_CHAR://处理键盘按键消息67. sprintf(szchar,"char is %c",wParam);68. MessageBox(hwnd,szchar,"提示",MB_OK);69. break;70. case WM_LBUTTONDOWN://处理鼠标左键按下消息71. MessageBox(hwnd,"mouse click","提示",MB_OK);72. hDC=GetDC(hwnd);73. TextOut(hDC,0,50,"鼠标事件处理时显示文字",strlen("鼠标事件处理时显示文字"));74. ReleaseDC(hwnd,hDC);75. break;76. case WM_CLOSE://窗口关闭消息77. if(IDYES==MessageBox(hwnd,"你确定要关闭吗?","提示",MB_YESNO))78. DestroyWindow(hwnd);79. break;80. case WM_DESTROY:81. PostQuitMessage(0);82. break;83. default:84. return DefWindowProc(hwnd,uMsg,wParam,lParam);//使用缺省值来调用窗口过程函数85. }86. return 0;87.}复制代码要说明的事,windows程序必须包含的头文件就是windows.h,而程序的入口函数叫做WinMain(dos的入口函数叫main),如果搞不清有几个参数,参数怎么写,可以查阅MSDN,WindowProc函数是窗口过程函数,也就是处理窗口消息的函数;先来看winamin函数内部,首先定义了一个WNDCLASS类型的数据,这个类型是windows 提供出来的结构体,他里面有10个成员。
c语言编写窗体程序
c语言编写窗体程序C语言是一门高效且灵活的编程语言,可用于开发各种类型的应用程序,包括窗体应用程序。
下面将介绍如何使用C语言编写一个窗体程序。
1.选择开发环境要使用C语言编写窗体程序,需要选择一个适合的开发环境。
例如,Visual Studio 等集成开发环境可以提供可视化窗体设计器和快速开发工具,这有助于快速开发窗体应用程序。
2.设计窗体界面在开始编写代码之前,需要设计窗体界面。
这可以在可视化窗体设计器中完成。
在该设计器中,可以添加各种控件(如按钮,标签,文本框等)并进行布局和外观设置。
这些控件可以通过拖放的方式添加到窗体上,并设置其属性和事件。
3.编写窗体代码一旦窗体界面设计完成,就可以开始编写窗体程序的代码。
首先需要用C语言编写主函数。
在该函数中,需要创建窗体对象,并将其显示在屏幕上。
以下是一个简单的示例代码:```#include <windows.h>LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){const char* className = "MyWindowClass";// 注册窗口类WNDCLASSEX wcex ={sizeof(WNDCLASSEX), CS_HREDRAW | CS_VREDRAW, WndProc, 0, 0,hInstance, LoadIcon(NULL, IDI_APPLICATION), LoadCursor(NULL, IDC_ARROW),reinterpret_cast<HBRUSH>(COLOR_WINDOW + 1), NULL, className, NULL};RegisterClassEx(&wcex);// 创建窗口HWND hwnd = CreateWindow(className, "My Window", WS_OVERLAPPEDWINDOW,0, 0, 640, 480, NULL, NULL, hInstance, NULL);// 显示窗口ShowWindow(hwnd, nCmdShow);UpdateWindow(hwnd);// 消息循环MSG msg;while (GetMessage(&msg, NULL, 0, 0)){TranslateMessage(&msg);DispatchMessage(&msg);}return static_cast<int>(msg.wParam);}LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)switch (msg){case WM_DESTROY:PostQuitMessage(0);break;default:return DefWindowProc(hwnd, msg, wParam, lParam);}return 0;}```在上面的示例代码中,创建了一个窗口对象并将其显示在屏幕上。
Windows窗体程序的开发实验报告
精通C#与.NET4.0数据库开发实验报告实验题目:Windows窗体程序的开发专业计算机科学与技术学生XX班级学号教师指导单位日期一、实验目的1.学会在Visual Studio 2021中创立和运行窗体程序。
2.掌握Windows窗体的根本操作。
3.学会使用常用的Windows控件。
4.学会使用菜单和工具栏以及通用对话框。
二、实验环境.NET框架开发环境Visual Studio 2021三、实验内容例5-1、2:源代码:publicpartialclass Form1 : Form{public Form1( ){Initializeponent( );}privatevoid AddInputToLog(string input){this.tbLog.AppendText("\r\n" + input);this.tbLog.ScrollToCaret( );}privatevoid btnSubmit_Click(object sender, EventArgs e) {string input = this.tbInput.Text;this.AddInputToLog(input);this.tbInput.Clear( );}}例5-3、4:源代码:publicpartialclass FrmMain : Form{public FrmMain( ){Initializeponent( );}privatevoid btnSetProp_Click(object sender, EventArgs e){this.Text = "测试对话框";this.FormBorderStyle = FormBorderStyle.FixedDialog;this.BackColor = Color.Gray;this.WindowState = FormWindowState.Normal; this.MinimizeBox = false;this.Height = 200;this.Width = 400;this.TopMost = true;}private FrmMain _CurrFrm = null;privatevoid btnCreate_Click(object sender, EventArgs e){if(this._CurrFrm == null){this._CurrFrm = new FrmMain( );this._CurrFrm.Show( );}else{this._CurrFrm.Activate( );}}privatevoid btnClose_Click(object sender, EventArgs e){if (this._CurrFrm !=null){this._CurrFrm.Close( );this._CurrFrm = null;}}privatevoid FrmMain_Load(object sender, EventArgs e){}}例5-5:源代码:// label1参数设置bel1.AutoSize = true;bel1.BackColor = System.Drawing.Color.Red;bel1.Font = new System.Drawing.Font("楷体_GB2312",12F, System.Drawing.FontStyle.Regular,System.Drawing.GraphicsUnit.Point,((byte)(134)));bel1.ForeColor = System.Drawing.Color.White;bel1.Location = new System.Drawing.Point(68, 43); = "label1";bel1.Size = new System.Drawing.Size(232, 16);bel1.TabIndex = 0;bel1.Text = "红底白字,楷体小四号, 无边框";bel1.Click += new System.EventHandler(bel1_Click);// label2参数设置bel2.AutoSize = true;bel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;bel2.Font = new System.Drawing.Font("幼圆",15F,System.Drawing.FontStyle.Bold,System.Drawing.GraphicsUnit.Point,((byte)(134)));bel2.Location = new System.Drawing.Point(49, 79); = "label2";bel2.Size = new System.Drawing.Size(289, 22);bel2.TabIndex = 1;bel2.Text = "幼圆小三粗体, Single边框";bel2.Click += new System.EventHandler(bel2_Click); 例5-6:源代码:publicpartialclass Form1 : Form{privateint _Value = 0;//btnShowMsg的Click事件处理函数privatevoid btnShowMsg_Click(object sender, EventArgs e) {MessageBox.Show(string.Format("现在需要: {0} ", this._Value));}//“多一点〞按钮Click事件处理函数privatevoid btnAdd_Click(object sender, EventArgs e){this._Value++;this.lbRes.Text = string.Format("现在需要: {0} ", this._Value);}//“少一点〞按钮Click事件处理函数privatevoid btnSub_Click(object sender, EventArgs e){this._Value--;this.lbRes.Text = string.Format("现在需要: {0} ", this._Value);}}例5-7:源代码:publicpartialclass Form1 : Form{public Form1( ){Initializeponent( );}privatevoid buttons_CheckedChanged(object sender, EventArgs e) {string weeks = "";weeks += ckbWeek1.Checked ? "星期一" :"";weeks += ckbWeek2.Checked ? "星期二" : "";weeks += ckbWeek3.Checked ? "星期三" : "";weeks += ckbWeek4.Checked ? "星期四" : "";weeks += ckbWeek5.Checked ? "星期五" : "";weeks += ckbWeek6.Checked ? "星期六" : "";weeks += ckbWeek7.Checked ? "星期日" : "";string sport = "";sport += rbSword.Checked ? "击剑" : "";sport += rbJump.Checked ? "跳水" : "";sport += rbTiCao.Checked ? "体操" : "";string jiangpai = "";jiangpai += rbGold.Checked ? "金牌" : "";jiangpai += rbSliver.Checked ? "银牌" : "";jiangpai += rbTong.Checked ? "铜牌" : "";this.lbHint.Text = weeks + sport + jiangpai;}}例5-8:源代码:publicpartialclass Form1 : Form{privatevoid Form1_Load(object sender, EventArgs e){this.mtbMobile.Mask = ""; //手机:13后面9个必填数字this.mtbPhone.Mask = "00"; //:4位必填区号,7或8位?this.tbName.Text = "";this.tbUsers.Text = "";}privatevoid btnAdd_Click(object sender, EventArgs e){string usr = string.Format("<{0}>:<{1}>:<{2}>", //产生用户信息this.tbName.Text,this.mtbPhone.Text,this.mtbMobile.Text);//添加到用户记录文本框¨°this.tbUsers.AppendText(usr + System.Environment.NewLine);this.mtbMobile.Text = ""; //清空用户信息this.mtbPhone.Text = "";this.tbName.Text = "";}}例5-9:源代码:publicpartialclass Form1 : Form{public Form1( ){Initializeponent( );}privatevoid Form1_Load(object sender, EventArgs e){//设置cmbHouXuan只能从boBox中的已有候选值选择this bHouXuan.DropDownStyle = boBoxStyle.DropDownList; //lstResult只能执行单项选择,并且对所有值进展排序this.lstResults.SelectionMode = SelectionMode.One;this.lstResults.Sorted = true;this.GeneratebItems( ); //产生boBox中D的可选项}privatevoid GeneratebItems( ){this bHouXuan.Items.Clear( ); //移除原有的数据Random rd = new Random();for (int i = 0; i < 10; i++) //随机生成10个新的数据{string item = string.Format("Item-{0:X8}", rd.Next( ));this bHouXuan.Items.Add(item); //添加到boBox中}this bHouXuan.SelectedIndex = 0; //默认选中第一条}//重新生成boBox中的侯选项privatevoid btnFresh_Click(object sender, EventArgs e){this.GeneratebItems( ); //重新生成bBox中的候选项}//将bBox中选中值¦添加到ListBox中Dprivatevoid btnAddOne_Click(object sender, EventArgs e){//通过boBox.SelectedItem获取当前选中的候选项,然后添加到ListBox中Dstring item = (string)this bHouXuan.SelectedItem;this.lstResults.Items.Add(item);}//从ListBox中移除当前选中项privatevoid btnRemoveOne_Click(object sender, EventArgs e){if (this.lstResults.SelectedIndex >= 0) //如果当前ListBox中有选中条目,移除它{this.lstResults.Items.RemoveAt(this.lstResults.SelectedIndex);}}//从ListBox中移除所有项privatevoid btnRemovAll_Click(object sender, EventArgs e){this.lstResults.Items.Clear( );}}例5-10:源代码:privatevoid btnMsgBox_Click(object sender, EventArgs e){MessageBox.Show("这是第一个消息框,只有确认按钮");//显示最简单的MessageBoxMessageBox.Show("这是二个消息框¨,有标题,只有确认按钮", "第二个消息框");//显示有文本和标题的MessageBox//显示具有文本、标题、确定和取消按钮的MessageBoxMessageBox.Show("这是第三个消息框¨,有标题,只有确认和¨取消按钮","第三个消息框", MessageBoxButtons.OKCancel);//显示具有文本、标题、确定和¨取消按钮、告警图标的MessageBox MessageBox.Show("这是第四个消息框¨,有标题,只有确认和取消按钮,告警图标", "第四个消息框", MessageBoxButtons.OKCancel,MessageBoxIcon.Warning);}例5-11:源代码:private void btnOpenFile_Click(object sender, EventArgs e){OpenFileDialog ofdlg = new OpenFileDialog( );//创立OpenFileDialog对象ofdlg.Filter = "文本文件(*.txt)|*.TXT|Word文件(*.doc)|*.DOC"; //只选择TXT和DOC 扩展名文件ofdlg.Title = "选择文本文件或Word文件"; //设置对话框的标题if(ofdlg.ShowDialog() == DialogResult.OK) //显示对话框,并等待返回{this.tbOpenFileName.Text = ofdlg.FileName; //如果用户选择了文件那么显示到界面}else{this.tbOpenFileName.Text = "还没有选择要翻开的文件"; //没有选择文件,那么显示默认提示}}例5-12:源代码:private void btnSetColor_Click(object sender, EventArgs e){ColorDialog cdlg = new ColorDialog( ); //创立ColorDialog对象cdlg.Color = btnSetColor.ForeColor; //设置默认颜色为btnSetColor当前前风光if (cdlg.ShowDialog( ) == DialogResult.OK) //显示对话框,并等待返回{this.btnSetColor.ForeColor = cdlg.Color; //选择了新的颜色,那么更新btnSetColor前风光}}例5-13:源代码:private void btnSetFont_Click(object sender, EventArgs e){FontDialog fdlg = new FontDialog( ); //创立FontDialog对象fdlg.Font = btnSetFont.Font; //设置默认字体为btnSetFont当前字体if (fdlg.ShowDialog( ) == DialogResult.OK) //显示对话框,并等待返回{this.btnSetFont.Font = fdlg.Font; //选择了新的字体,那么更新btnSetFont的字体}}四、实验总结通过此次实验,我学会了在Visual Studio 2021中创立和运行窗体程序;也掌握了Windows窗体的根本操作;学习使用了常用的Windows控件;同时学会了使用菜单和工具栏以及通用对话框。
c#Windows窗体应用程序设计
一个Windows应用程序可以包含多个窗体。
窗体类型 在C#中,窗体分为如下两种类型: (1)普通窗体,也称为单文档窗体(SDI),前面所有创建的窗体均为普
通窗体。普通窗体又分为如下两种: ● 模式窗体。这类窗体在屏幕上显示后用户必须响应,只有在它关闭后才
Program.cs文件 :
using System; using System.Collections.Generic; using System.Windows.Forms; namespace Proj8_1 { static class Program
{ /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); //启动窗体为Form1 }
///否则为false。</param>
protected override void Dispose(bool disposing) //重写基类Dispose()方法
{ if (disposing && (components != null))
{
components.Dispose();
} base.Dispose(disposing); //调用基类的Dispose()方法
《C#程序设计》教案
《C程序设计》教案《C程序设计》教案第一章:C基础知识1.1 C概述C是一种面向对象的、类型安全的编程语言,由微软公司开发。
本章介绍C语言的基础概念、特性和语法规则。
1.2 C开发环境搭建本节介绍如何搭建C开发环境,包括安装Visual Studio、配置项目等。
1.3 C基本语法了解C的基本语法,包括变量声明、数据类型、运算符、条件语句、循环语句等。
1.4 C面向对象编程介绍C的面向对象编程概念,包括类、对象、封装、继承和多态等。
1.5 异常处理学习如何在C中进行异常处理,包括try-catch语句、finally 语句等。
第二章:C高级特性2.1 泛型了解C中的泛型概念和用法,包括泛型类、泛型方法、泛型约束等。
2.2 委托和事件学习C中委托和事件的使用,包括委托的定义、事件的触发和处理等。
2.3 LINQ查询介绍使用LINQ进行数据查询和操作的基本语法和用法。
2.4 多线程编程学习如何在C中进行多线程编程,包括线程的创建、同步和异步操作等。
第三章:C图形界面应用程序开发3.1 Windows窗体应用程序学习如何使用C开发Windows窗体应用程序,包括控件的使用、界面设计等。
3.2 WPF应用程序介绍使用C和XAML开发WPF应用程序的基本知识和技巧。
3.3 Web应用程序了解C开发 Web应用程序的基本过程和技术要点。
3.4 数据库访问和操作学习使用C进行数据库操作,包括连接数据库、执行SQL语句、事务处理等。
附件:本文档涉及的附件可以在附件文件夹中找到,并根据需要进行和使用。
法律名词及注释:1.法律名词1:根据《法》,指的定义和规定。
2.法律名词2:根据《YYY法》,指YYY的定义和规定。
c#复习资料2013(带答案)(总)
11.1、公共语言运行库即( )。
A、CRLB、CLRC、CRRD、CLS1.2、.NET平台是一个新的开发框架。
( )是.NET的核心部分。
A、C#B、.NET FrameworkC、D、操作系统1.3、项目文件的扩展名是( )。
A、csprojB、csC、slnD、suo1.4、利用C#开发应用程序,通常有三种类型,不包括( ) 。
A、控制台应用程序B、Web应用程序C、SQL程序D、Windows程序1.5、运行C#程序可以通过按 ( ) 键实现A、F2B、F5C、F8D、F91.6 C#中导入某一命名空间的关键字是( )。
A. usingB. useC. includeD. import1.7 C#语言程序执行时从( )的第一行开始A、Main( )B、classC、namespaceD、using1.6、简述面向对象程序设计的特点.P21.7、简述类与对象的关系.p322.1、下列标识符不合法的是: 。
A、abcB、abc123C、abc-1D、a3b2.2、转义字符不可以表示。
A、任何字符B、字符串C、字母D、小数点2.3、从值类型转换到引用类型称为____A、继承B、拆箱C、装箱D、转换2.4、下列值类型的数据精度最高的是 ____ 。
A、intB、floatC、decimalD、ulong2.5、在C#中,下列常量定义正确的是____A 、const double PI 3.14;B、const double PI=3.14;C、 define double PI 3.14;D、define double PI=3.14;2.6在C#中定义一个数组,正确的代码为____A、int arr=new int [5];B、int [] arr=new int [5];C、int arr =new int [ ];D、int [5] arr=new int [];2.7以下类型中,不属于值类型的是____。
c窗体应用程序实例
c窗体应用程序实例近年来,计算机技术的发展日新月异,各种软件应用层出不穷。
其中,窗体应用程序是一种非常常见的软件类型,它为用户提供了一个直观、便捷的界面,方便用户进行各种操作。
下面,我们将介绍一个窗体应用程序的实例,希望能够带给读者一些启示。
1. 介绍窗体应用程序窗体应用程序是一种基于图形用户界面的软件应用,它的特点是拥有一个窗体,通过这个窗体可以方便地操作各种功能。
窗体应用程序通常使用视觉元素如按钮、文本框、下拉菜单等来代表不同的功能,用户可以通过这些元素和窗体进行交互。
2. 窗体应用程序实例——计算器我们以一个简单的计算器为例来介绍窗体应用程序的设计实现。
首先,我们需要使用Visual Studio来创建一个新的窗体应用程序项目,并添加一个Form窗体。
接下来,我们需要向窗体中添加各种视觉元素来实现计算器的功能。
例如,在窗体中添加数字按钮、加号按钮、减号按钮、乘号按钮、除号按钮等。
同时,我们还需要在窗体中添加一个文本框来显示计算器的运算结果。
最后,我们需要在代码中编写相应的逻辑来实现计算器的计算功能。
具体来说,我们可以通过在代码中添加相应的事件处理函数来实现各个按钮的功能。
例如,当用户点击加号按钮时,系统可以响应点击事件,并获取文本框中的数字,然后进行加法运算,并将结果显示在文本框中。
3. 窗体应用程序设计思路在设计窗体应用程序时,我们需要考虑以下几个方面:(1) 界面设计:我们需要考虑如何设计一个直观、易于操作的界面,使用户能够快速地找到所需的功能。
(2) 视觉元素的选择:我们需要选择合适的视觉元素来代表各种功能,例如按钮、文本框、下拉菜单等。
(3) 逻辑设计:我们需要在代码中编写合适的逻辑来实现各种功能,例如计算、数据读写等。
4. 窗体应用程序的优缺点窗体应用程序的优点:(1) 易于操作:窗体应用程序提供了一个直观、易于操作的界面,用户可以方便地进行各种操作。
(2) 界面美观:窗体应用程序可以通过精心的设计使其界面美观、简洁。
使用VisualStudio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序)
使⽤VisualStudio2019创建C#项⽬(窗体应⽤程序、控制台应⽤程序、Web应⽤程序)⼀、VS的开发环境⾸先你得安装了vs2019,然后确认下下⾯三个组件是否存在,如果没有要下载⼀下。
vs2019的安装可参考。
⼆、创建C#窗体应⽤程序打开vs可以直接在搜索框输⼊关键字进⾏搜索,选择 Windows 窗体应⽤(.NET Framework)。
如图。
也可以限定项⽬类型,所⽤的语⾔进⾏查找。
接下去狂点确定即可。
当然可以选择改个项⽬存放存放的⽬录和项⽬名称。
创建好后,就进⼊到了这么⼀个界⾯。
在窗体右边(也可能是在左边。
每个⼈的设置可能不同)有⼀个⼯具箱的选项,打开有⼀些窗体应⽤所需的控件。
接下来我们写个⼩程序测试⼀下项⽬是否能正常运⾏。
实现的功能就是当我们点击按钮的时候,能显⽰出⽬前的点击次数。
⾸先从属性那边拖动两个空间到窗⼝上,分别是Button和Label。
并把它们的名称和内容分别修改为(btn,点击)和(lab,0)接着绑定按钮的点击事件,如果不知道事件是什么,没关系,先跟着做就⾏。
可以从属性窗⼝那,点击右上⾓的闪电图标,然后点击Clike的按钮,如图。
或者直接双击按钮。
之后就会跳转到这么⼀个代码界⾯。
然后编写我们所需要的代码即可。
如下。
完成效果。
(虽然画⾯有点丑)三、创建控制台应⽤程序创建步骤跟上⾯类似,选择控制台应⽤程序创建即可写个测试程序。
从控制台输⼊⼀句话并打印出来了。
四、创建Web应⽤程序选择创建⼀个Web应⽤程序,如图。
选择空项⽬添加⼀个Web窗体创建好后是这么个界⾯。
可以直接编写H5代码。
或者点击左下⾓设计。
进⼊这么⼀个界⾯。
跟windows窗体应⽤开发很相似。
在右边也有个⼯具箱。
有许多控件可以使⽤。
添加⼀个Label和Button 空间到窗体,并修改下id和text。
要实现的功能是当点击按钮后将Label中的内容转成⼤写。
跟窗体应⽤程序⼀样,双击Button就可以绑定事件然后进⾏编辑。
C#2010 创建Windows窗体HelloWorld程序
C#2010 创建Windows窗体HelloWorld程序Windows窗体应用程序是Visual C#中创建运行于.NET Framework上的基于Windows的智能客户端应用程序。
在Visual Studio中,用户可以使用Windows窗体设计器来创建自己的用户界面,具体步骤如下所示:(1)在Visual Studio2010中,创建一个模版为“Windows应用程序”、名称为“Test”的应用程序。
在Visual Studio界面的【设计视图】窗口中会显示一个空白的Windows窗体。
(2)展开【工具箱】面板中的“公共控件”节点,将“Button”控件拖至Windows 窗体中,如图1-24所示。
图1-24 Form1(3)执行【视图】|【属性窗口】命令,界面右下方就会显示【属性】面板。
在该面板就可以对控件的属性进行设置,如控件名、控件大小等,如图1-25所示。
图1-25 属性面板(4)双击Button控件,打开“Form1.cs”源文件。
然后,根据自身需要对文件代码进行修改,代码如下所示。
using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace Test{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){}private void button1_Click(object sender, EventArgs e){MessageBox.Show("Hello Word!");}}}(5)然后,执行【调试】|【开始执行(不调试)】命令,打开Form1窗口,单击【点击】按钮弹出“Hello Word!”提示信息,如图1-26所示。
【第三章】C_上位机实战开发指南
第三章Windows窗体程序3.1第一个窗体程序3.1.1新建本地工程文件夹为了使工程易于管理,我们首先在电脑本地新建一个文件夹用于存放整个共工程,比如命名为”DEMO”。
注意文件夹名虽然根据喜好命名,但最好不要使用中文命名,因为有时候如果上位机需要加载本地文件遇到中文名必须要转码,比如加载本地URL时路径存在中文就相对麻烦,因此我建议使用英文命名。
3.1.2新建工程启动VS2015,新建一个工程,如图3-1所示。
图3-1:在VS2015中新建工程1.选择.NET版本通常我们可以选择.NET2.0或者.NET4.0,.NET3.x版本兼容性差,BUG较多,几乎没有人使用,.NET4.5以上版本太高,不再支持Windows XP。
一般情况下,Windows XP已经很少使用.NET4.0,而.NET2.0可以流畅的在Windows XP及其以上版本系统上运行,即使在企业级开发中4.0也已经算非常高的版本了,因此出于兼容性的考虑,建议选择.NET2.0进行开发。
当然在讲到波形绘制项目时,我们会优先选择.NET4.0。
2.选择项目类别上位机开发选择Windows窗体应用程序。
3.命名项目名建议使用英文名命名,避免路径中出现中文,这里我取名”Demo”。
图3-2:创建项目我们将新建的工程放置于DEMO文件夹中即可。
此时VS2015切换至窗体设计器界面。
4.控件及属性栏介绍Windows窗体程序离不开控件的使用,在新建好工程后我们就需要找到Windows原生的控件库。
在界面左边的工具箱中就存放着所有我们可能会用到的Windows原生控件。
一般情况工具箱会自动隐藏,考虑到设计界面时我们需要比较大的空间去揣摩界面设计思路,因此建议使用时都将工具箱隐藏,用到时再选择控件即可。
当然出于个人喜好又或者开发电脑有一个非常大的屏幕,我们也可以将工具栏显示在设计器界面中。
属性栏一般在界面右下角,使用频率非常高,控件样式,事件的注册等都需要在属性一栏中进行设置。
C界面设计教程
本章将介绍建立Windows应用程序、使用Windows Forms常用控件、菜单和多文档界面设计等。
同时向大家展示用Windows窗体来编写程序的特点以 及技巧。
2019/3/19
3
C#程序设计实用教程
9.1 Windows应用程序的结构
•
集成开发环境是基于.NET Framework构建的, 该框架提供了一个有条理的、面向对象的、可扩展的 类集,它使用户得以开发丰富的Windows应用程序。 通过Windows“窗体设计器”进行设计窗体,用户就 可以创建Windows应用程序和客户机/服务器应用程 序。用户可对窗体设定某些特性并在其上添加控件, 然后编写代码以增加控件和窗体的功能。
9.1.1 计算器窗体
(1)运行,在【起始页】上单击【新建项目】按
2019/3/19
7
C#程序设计实用教程
9.1.1 计算器窗体
(2)单击“确定”按钮后就进入的主界面,如图9-2所示。
•从图9-2可以看出,当选择“Windows应用程序”作为应 用程序的模板后,系统会自动为用户生成一个空白窗体, 一般名为Form1。 •该窗体就是应用程序运行时显示给用户的操作界面,下 一步就是向窗体中添加各种控件。
2019/3/19 17 C#程序设计实用教程
9.1.3 计算器事件
private void btnDiv_Click(object sender, EventArgs e) { Button btn = (Button)sender; textBox1.Text = textBox1.Text + " " + btn.Text + " ";//空格用于分 隔数字各运算符 }
C_教程_第6章_窗体、控件和组件
窗体的创建、显示与隐藏( 6.1.2 窗体的创建、显示与隐藏(续)
3、如何隐藏一个打开的窗体 使用Form2 );创建的窗体 (1)fm.Hide( ); // 使用Form2 fm = new Form2( );创建的窗体 隐藏当前窗体: (2)隐藏当前窗体:this.Hide( ); 隐藏其它窗体: (3)隐藏其它窗体:Application.OpenForms["Form1"].Hide( ); 只能隐藏“无模式”窗体。 注:只能隐藏“无模式”窗体。 4、如何重新显示隐藏的窗体 使用Form2 );创建的窗体 (1)fm.Show( ); // 使用Form2 fm = new Form2( );创建的窗体 显示当前窗体: (2)显示当前窗体:this.Show( ); 显示其它窗体: (3)显示其它窗体:Application.OpenForms["Form1"].Show( ); 5、退出应用程序 Application.Exit( ); 执行该语句后,停止本应用程序的消息循环, 执行该语句后,停止本应用程序的消息循环,关闭本应用程序所有 打开的窗体。 打开的窗体。
窗体的创建、显示与隐藏( 6.1.2 窗体的创建、显示与隐藏(续)
6、关闭一个窗体后再显示另一个窗体 static void Main( ) { …. . //创建欢迎窗体 //创建欢迎窗体 WelcomeForm fm = new WelcomeForm( ); //以 模式” //以“模式”窗体显示 fm.ShowDialog( ); //运行主窗体 运行主窗体MainForm //运行主窗体MainForm Application.Run(new MainForm( )); }
61窗体与对话框62控件共有的基本操作63容器类控件和组件64文本操作类控件65选择操作类控件66图像操作类控件和组件67菜单工具栏与状态栏68视图操作类控件69其他常用控件1窗体应用程序的启动和停止使用application类提供的静态方法来启动停止应用程序
c++窗体应用程序实例
c++窗体应用程序实例一、概述本文档旨在介绍如何使用C语言和Windows窗体框架开发一个简单的窗体应用程序。
通过本实例,您将学习如何创建窗体、添加控件、设置属性、编写事件处理程序等基本操作。
二、开发环境1. 安装Visual Studio开发环境。
2. 确保已安装C语言编译器,如GCC或Clang。
三、步骤1. 创建新项目:打开Visual Studio,选择“文件”->“新建”->“项目”,选择“Windows窗体应用程序”。
为项目命名并设置存储位置,然后点击“创建”。
2. 设计窗体:在解决方案资源管理器中,双击窗体以打开设计器。
根据需要添加控件,如标签、文本框、按钮等。
3. 设置控件属性:使用属性面板或直接在代码中设置控件的属性,如位置、大小、字体、颜色等。
4. 编写事件处理程序:为控件的单击、双击、焦点改变等事件编写处理程序。
可以在设计器中直接为控件添加事件处理程序,或使用代码添加。
5. 添加代码逻辑:在事件处理程序中编写应用程序的逻辑,如数据验证、用户输入的处理等。
6. 调试与运行:使用调试器测试应用程序,确保其正常运行并达到预期效果。
点击“启动调试”运行应用程序。
7. 保存并发布:完成开发后,保存项目并选择发布方式(本地发布或在线发布)。
四、示例代码以下是一个简单的窗体应用程序的示例代码,包含一个标签、一个文本框和一个按钮。
当按钮被单击时,将显示文本框中的文本。
```c// Form1.h#pragma onceusing namespace System;using namespace System::Windows::Forms;public ref class Form1 : public Form{public:Form1(){// 初始化控件label1->Text = "输入文本:";textBox1->Location = Point(10, 10);textBox1->Multiline = true;button1->Location = Point(10, textBox1->Height + 10);button1->Text = "显示文本";button1->Click += gcnew EventHandler(this,&Form1::Button1_Click);}private:void Button1_Click(Object^ sender, EventArgs^ e){// 获取用户输入的文本String^ text = textBox1->Text;// 显示文本MessageBox::Show(text);}};[STAThread]int main(){Application::EnableVisualStyles();Application::Run(gcnew Form1());return 0;}```五、总结通过本实例,您学习了如何使用C语言和Windows窗体框架开发一个简单的窗体应用程序。
CWinForm实践开发教程(上)
WinForms应用程序可能存在多个窗体,用于获取用户输入的 数据和向用户显示数据
1.1.2 创建 WinForms应用程序
“开始”“程序”“Microsoft Visual 2005”“Microsoft Visual 2005”
创建 WinForms应用程序
/// <summary> /// 清理所有正在使用的资源。【下面代码: Form1.Designer.cs 】 /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } 释放系统资源
删除现有的所有文本
事件
KeyPress
说明
用户按一个键结束时将发生该事件
1.1.3 WinForms 中的常用控件
按钮
属性
Enabled
说明
确定是否可以启用或禁用该控件
方法
PerformClick
说明
Button 控件的 Click 事件
事件
Click
说明
单击按钮时将触发该事件
private void button2_Click(object sender, EventArgs e) { clear(); } private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == string.Empty || textBox2.Text == string.Empty) { MessageBox.Show("信息禁止为空!","登录提示"); clear(); return; } if (!textBox1.Text.Equals("admin") || !textBox2.Text.Equals("admin")) { MessageBox.Show("用户名称或密码为空!", "登录提 示"); clear(); return; } else { MessageBox.Show("欢迎您登录本系统!","消息提示"); clear(); } } public void clear() { textBox1.Clear(); textBox2.Clear(); textBox2.Focus(); }
Windows窗体应用程序
6.2.1 控件常用属性和事件
▪ 1.控件常用属性
Windows应用程序中所有控件都会有共同常 用的属性:
▪ Name就是这个控件的名字. ▪ Text 就是这个控件上显示的信息。 ▪ 当Visible属性为True表示这个控件在程序运行时显示
出来,否则为False则表示程序运行时该控件不显示。 ▪ 当Enabled属性为True表示这个控件可用,否则该控件
6.2.2 控件的锚定和停靠
▪ 控件的锚定和停靠是通过Anchor和Dock属性实现
的。
▪ Anchor属性用于指定在用户重新设置窗口的大小时控 件该如何响应。可以指定如果控件重新设置了大小, 就根据控件的边界锁定它,或者其大小不变,但根据 窗口的边界来锚定它的位置。
▪ Dock属性用于指定控件应停放在容器的边框上。如果 用户重新设置了窗口的大小,该控件将继续停放在窗 口的边框上。例如,如果指定控件停放在容器的底部 边界上,则无论窗口的大小如何改变,该控件都将改 变大小,或移动其位置,确保总是位于屏幕的底部。
6.4.2 面板控件
▪ Panel是一个容器控件,基本上不会用它本
身的事件或者方法。一般是用Panel控件统 一管理几个其它非容器类控件,比如想在 一个窗体里布置两个不同的界面,通过点 击不同按钮切换这两个界面,或者在某些 条件不成立时要把窗体中的某些控件隐藏, 这时候就可以选择Panel控件。
6.4.3 选项卡控件
6.5.2 快捷菜单控件
▪ 快捷菜单又叫上下文菜单,就是单击右键
时弹出的菜单。当右键单击某个关联的控 件时,便弹出其快捷菜单,所以需要将快 捷菜单与相关的控件进行关联。
6.5.3 状态栏控件
▪ StatusStrip 控件主要出现在当前Window窗
Visual_Studio_2012_C++使用教程
Visual C++ 指导教程Visual Studio 2012在本指导教程中,将介绍Visual Studio 开发环境,以及可以使用Visual C++ 创建的各种类型的应用程序。
其中包括命令行应用程序、Windows 应用程序,甚至简单的游戏。
本指导教程还将介绍如何创建可重用代码库,以及如何在编写和测试了代码后将其交付给客户。
因为每个主题都以上一主题中的信息为基础,所以我们建议您按顺序完成指导教程。
在每个主题的底部,您可以找到指导教程下一主题的导航链接和上一主题的链接(如果需要返回并查看某些内容)。
本指导教程假定您具备C++ 语言的基础知识。
本节内容Visual Studio IDE 简介(C++)描述如何使用Visual Studio IDE 创建解决方案和项目,以便有效地编写代码并生成、调试、测试和部署应用程序。
创建命令行应用程序(C++)介绍 C 和C++ 命令行应用程序,讨论如何创建符合ANSI 的 C 或C++ 程序,并描述如何使用命令行编译器编译应用程序。
创建Windows 应用程序(C++)描述如何创建Windows API (Win32) 应用程序、Windows 窗体应用程序、Windows 窗体控件,甚至简单的DirectX 游戏。
创建可重用代码(C++)描述如何创建动态链接库(DLL)、静态库和托管程序集,以便多个应用程序可以方便地重用代码。
下一步要做什么(C++)包含指向文档其他部分的链接,您可以学习关于指导教程中介绍的主题的更多信息。
Visual Studio IDE 简介(C++)Visual Studio 集成开发环境(IDE) 提供了一组工具,可帮助您编写和修改代码,以及检测和更正错误。
在这些主题中,您将创建一个新的标准C++ 程序,并使用Visual Studio 为C++ 开发人员提供的功能测试该程序的功能。
您创建的简单程序将跟踪有多少个玩家正在玩各种纸牌游戏。
Windows窗体应用——实验报告
学生注册页面专业:xxxxxxxxxxxxx姓名:xxxxxxxxxx学号:xxxxxxxxxxxxxx实现具有信息处理功能的学生注册页面一、实验目的1、创建Windows窗体应用程序;2、掌握Label,TextBox,Button控件的应用;3、掌握RadioButtonBox,ListBox控件的应用;4、实现通用对话框的功能;5、实现下拉菜单的功能。
二、实验仪器或设备CPU:AMD Athlon(tm) II X2 B24Processor3.10 GHz, 2.00 GB的内存系统:Micrsoft Windows XPProfessional版本 2002Service Pack 3三、总体设计(设计原理、设计方案及流程等)编写Windows窗体应用程序,使用Lable,TextBox,Button,RadioButton,CheckBox,ListBox控件,实现多种信息输入方式的交互页面。
在页面上输入或者选择相应的信息,单击【提交】按钮,显示相应的输入或是选择的信息。
四、实验步骤(包括主要步骤、代码分析等)(1)添加页面。
(2)设计页面。
单击“设计“标签,从”标准“工具箱中分别拖出3个TextBox、2个RadioButton、1个DropDownList、1个ListBox、4个CheckBox、1个Button、5个Lable控件,如下图:(3)、窗体上的“提交“按钮,系统将自动生成button1_click事件处理程序,在其中加入如下语句,以在信息显示label中显示学生填写或选择的信息。
代码如下:private void button1_Click(object sender, EventArgs e){ message.Text=stuname.Text+" 你好,欢迎进入C#世界!\n";message.Text+="你的密码是:" +password.Text;if(radioButton1.Checked)message.Text+="你的性别是:"+radioButton1.Text;else if (radioButton2.Checked)message.Text+="\n你的性别是:"+radioButton2.Text;if(school.SelectedIndex>-1)message.Text+="\n你的学校是:"+school.SelectedItem.ToString();elsemessage.Text+="\n你没有选择学校";if (listBox1.SelectedIndex > -1)message.Text += "\n你的专业是:" + listBox1.SelectedItem.ToString();else message.Text += "\n你没有选择专业";message.Text += "\n你的爱好是:";if(checkBox1.Checked)message.Text+=checkBox1.Text+" ";if(checkBox2.Checked)message.Text+=checkBox2.Text+" ";if(checkBox3.Checked)message.Text+=checkBox3.Text +=" ";message.Text+=checkBox3.Text+" ";if(checkBox4.Checked)message.Text+=checkBox4.Text+" ";if((!checkBox1.Checked)&&(!checkBox2.Checked)&&(!checkBox3.Checked)&&(!checkBox4.Checked)) message.Text+="你居然没有兴趣爱好!";}(4)运行效果:五、结果分析与总结① 8个Label控件,它们的功能是:实现界面上的“学生注册”、“性别”、“姓名”、“专业”、“密码”、“学校”、“爱好”字段的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
将本窗体设计为启动窗体,运行本项目,在富文本框 RichtextBox1中显示H:\C#2005\ch8\file.rtf文件的内容。
分组框控件 面板控件
复选框控件 属于选择类控件,用来设置需要或不需要某一选项功能。 在运行时,如果用户用鼠标单击复选框左边的方框,方框 中就会出现一个“√”符号,表示已选取这个功能了。 复选框的功能是独立的,如果在同一窗体上有多个复选 框,用户可根据需要选取一个或几个。
Form1.Designer.cs 文件:
namespace Proj8_1 { partial class Form1 { ///<summary> ///必需的设计器变量。 ///</summary> private ponentModel.IContainer components = null; ///<summary> ///清理所有正在使用的资源。 ///</summary> ///<param name="disposing">如果应释放托管资源,为true; ///否则为false。</param> protected override void Dispose(bool disposing) //重写基类Dispose()方法 { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); //调用基类的Dispose()方法 }
大多数控件共有的基本属性如下 : 1)Name属性 2)Text属性 3)尺寸大小(Size)和位置(Location)属性
4)字体属性(Font)
5)颜色属性(BackColor和ForeColor) 6)Cursor属性 7)可见(Visible)和有效(Enabled)属性
富文本框控件 提供类似Microsoft Word能够输入、显示或处理具有格 式的文本。 【例8.2】 设计一个窗体,说明富文本框的使用方法。
// button2 this.button2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.button2.Location = new System.Drawing.Point(28, 69); = "button2"; this.button2.Size = new System.Drawing.Size(117, 33); this.button2.TabIndex = 1; this.button2.Text = "调用无模式窗体"; eVisualStyleBackColor = true; this.button2.Click += new System.EventHandler(this.button2_Click); // Form1 this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(169, 128); this.Controls.Add(this.button2); this.Controls.Add(this.button1); = "Form1"; this.StartPosition =System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "Form1"; this.ResumeLayout(false); }
Form2窗体: (1)设计界面 (2)事件过程:
private void Form2_Load(object sender, EventArgs e) { richtextBox1.LoadFile("H:\\C#2005\\ch8\\file.RTF", RichtextBoxStreamType.RichText); } @"H:\C#2005\ch8\file.RTF",
主要属性:
Checked:获取或设置一个布尔值,该值指示是否已选中 控件。如果为True,则指示选中状态;否则为False(默 认值)。 主要事件:
Click
【例8.3】 设计一个窗体,说明复选框的应用。
Form3窗体: (1)设计界面 (2)事件过程:
private void button1_Click(object sender, EventArgs e) { if (checkBox1.Checked && checkBox3.Checked && !checkBox2.Checked && !checkBox4.Checked) MessageBox.Show("您答对了,真的很棒!!!", "信息提示", MessageBoxButtons.OK); else MessageBox.Show("您答错了,继续努力吧!!!", "信息提示", MessageBoxButtons.OK); }
#region Windows 窗体设计器生成的代码 ///<summary> ///设计器支持所需的方法 - 不要 ///使用代码编辑器修改此方法的内容。 ///</summary> private void InitializeComponent() //初始化方法 { this.button1 = new System.Windows.Forms.button(); this.button2 = new System.Windows.Forms.button(); this.SuspendLayout(); // button1 this.button1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.button1.Location = new System.Drawing.Point(28, 21); = "button1"; this.button1.Size = new System.Drawing.Size(117, 33); this.button1.TabIndex = 0; this.button1.Text = "调用模式窗体"; eVisualStyleBackColor = true; this.button1.Click += new System.EventHandler(this.button1_Click);
namespace Proj8_1 { public partial class Form1 : Form //从Form类继承Form1窗体 { public Form1() //Form1类构造函数 { InitializeComponent(); //调用初始化方法,其代码在Form1.Designer.cs文件中 } private void button1_Click(object sender, EventArgs e) { Form myform = new Form1_1();//定义Form1_1类对象 myform.ShowDialog(); //以模式窗体方式调用 } private void button2_Click(object sender, EventArgs e) { Form myform = new Form1_2();//定义Form1_2类对象 myform.Show(); //以无模式窗体方式调用 } } }
#endregion private System.Windows.Forms.button button1; //私有字段 private System.Windows.Forms.button button2; //私有字段 } }
2. Form1_1窗体:
(1)设计界面 (2)事件过程:无
窗体类型 在C#中,窗体分为如下两种类型: (1)普通窗体,也称为单文档窗体(SDI),前面所 有创建的窗体均为普通窗体。普通窗体又分为如下两种: ● 模式窗体。这类窗体在屏幕上显示后用户必须响应, 只有在它关闭后才能操作其他窗体或程序。 ● 无模式窗体。这类窗体在屏幕上显示后用户可以不 必响应,可以随意切换到其他窗体或程序进行操作。通常 情况下,当建立新的窗体时,都默认设置为无模式窗体。 (2)MDI父窗体,即多文档窗体,其中可以放置普通 子窗体。
按F5键或单击工具栏中的按钮运行本项目。 上机调试运行结果。
窗体上各事件的引发顺序
当一个窗体启动时,执行事件过程的次序如下: (1)本窗体上的Load事件过程。 (2)本窗体上的Activated事件过程。 (3)本窗体上的其他Form级事件过程。 (4)本窗体上包含对象的相应事件过程。 一个窗体被卸载时,执行事件过程的次序如下: (1)本窗体上的Closing事件过程。 (2)本窗体上的FormClosing事件过程。 (3)本窗体上的Closed事件过程。 (4)本窗体上的FormClosed事件过程。
焦点与Tab键次序 焦点(Focus)是指当前处于活动状态的窗体或控件。
要将焦点移到当前窗体中的textBox1文本框,可以 使用以下命令: