窗体

接口与事件监听机制

人盡茶涼 提交于 2019-12-03 07:31:50
接口与事件监听机制 一、接口 接口的定义: 定义接口的关键字: interface 定义格式: public interface 接口名 extends 接口,... { //定义常量 public static final 数据类型 常量名 = 值; //定义抽象方法 public abstract 返回值数据类型 方法名(数据类型 参数名,...); } 但是需要注意的是: 1.接口是一种特殊的类; 2.接口中的访问修饰符只有1个就是public; 3.接口默认提供的关键字有:public、static、final、abstract; 4.接口不能实例化对象。 当一个接口定义好时,需要定义另一个类类实现或者继承这个接口。格式是: public class 类名 extends 类|抽象类 implements 接口,... { } 在java中,类实现接口的关键字是: implements 。 这里需要注意的是: 1、一个类可以继承一个或多个接口(这与类继承类不同,类继承类是单继承,而类继承接口可以是一个或者是多个)。 2、当类实现(继承)接口后,类必须要实现(重写)接口中所有的(接口的,接口父接口的)抽象方法。 接口的作用: (1).要求所有的子类都要重写某一个方法时,可以利用接口来实现。 ( 2).类的是继承是单继承,类实现接口就是继承接口,丰富类的继承关系。 二、抽象类

winform窗体自适应大小

≡放荡痞女 提交于 2019-12-03 01:31:51
1.添加一个类class AutoSizeFormClass { //(1).声明结构,只记录窗体和其控件的初始位置和大小。 public struct controlRect { public int Left; public int Top; public int Width; public int Height; } //(2).声明 1个对象 //注意这里不能使用控件列表记录 List nCtrl;,因为控件的关联性,记录的始终是当前的大小。 // public List oldCtrl= new List();//这里将西文的大于小于号都过滤掉了,只能改为中文的,使用中要改回西文 public List<controlRect> oldCtrl = new List<controlRect>(); int ctrlNo = 0;//1; //(3). 创建两个函数 //(3.1)记录窗体和其控件的初始位置和大小, public void controllInitializeSize(Control mForm) { controlRect cR; cR.Left = mForm.Left; cR.Top = mForm.Top; cR.Width = mForm.Width; cR.Height = mForm.Height; oldCtrl.Add(cR);//第一个为

如何优雅的写UI――(3)添加MFC选项卡

匿名 (未验证) 提交于 2019-12-03 00:39:02
窗体创建完成,接下来我们讲讲控件的使用 class CtabView : public CFormView { ...... ...... public : CMFCTabCtrl m_tab; } 在初始化中动态创建选项卡并设置选项卡的样式,这里我们使用了Creat函数,他的原型是 BOOL Create(Style style, const RECT& rect, CWnd* pParentWnd, UINT nID, Location location = LOCATION_BOTTOM, BOOL bCloseBtn = FALSE); 是一个枚举类型,它定义了选项卡的样式,基本都为3D的样式 public : enum Style 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 第二个参数:设置选项卡大小 第三个参数:窗体句柄 第四个参数:设置选项卡控件ID 第五个参数:设置选项卡标签位置,MFC只给了上下两个方向来显示选项卡标签的位置 public: 第六个参数:是否带关闭按钮,关闭按钮的逻辑是要自己实现的,这个我们下面再说。 添加选项卡代码: void CtabView::OnInitialUpdate() { RecalcLayout(); if (!m_tab.Create(CMFCTabCtrl::STYLE_3D_ONENOTE, rc,

客运综合管理系统项目解析-WCF-客户端-配置详细流程-登陆信息

别来无恙 提交于 2019-12-03 00:32:37
1.3新建客户端 第三步 客户端构建 : 首先点击: Visual C# ,然后单击: Windows窗体应用程序 ,其次:在名称中: 输入项目名称 (解决方案名称),位置: 可自行选择存放该项目的路径 ,完成后点击 : 确定 1.3 (图1) 1.3(图2) 例如:把Form1重命名为登陆窗体名字;根据项目需要可以命名为需要的窗体名字,然后可以根据工具箱进行对窗体的布局,即使用控件. 1.3(图3)根据功能需要进行控件布局,下面窗体 边框 是去掉了,可以在窗体 右键属性 更改,图片加在控件上也同理在其属性更改! 1.3(图4)如图:工具箱分布着各种控件,根据功能需要自己进行操作布局! 从界面上可以看到我们这里用到的控件有 控件名称 说明 用来装验证码(Panel) *控件可以在工具箱 直接拖动至窗体 ,拖至窗体后 右击属性 可以 修改控件的样式和各种属性,还可以编辑事件。 下拉框( Combo Box ) 文本( TextBox ) 按钮(Button) 编写文字的 (Label) ***同理根据自己项目需求构建需要的 客户端项目窗体 和 服务端对应的类 ,做法基本重复上面步骤!!! 1.4 新建配置 第四步: 服务端编写方法进行配置,客户端进行引用.例如:登陆界面对应的服务端方法配置;其它模块做法基本操作一致! 1.4(图1) 1.4(图2)登陆界面用到数据的控件

Visual Studio 中两个窗体(WinForm)之间相互传值的方法

匿名 (未验证) 提交于 2019-12-03 00:32:02
编写WinowsForm应用程序时,实现两个窗体之间相互传递值的方法其实很简单。以下用一个例子说明:在名为FormMain主窗体运行过程中利用名为FormInfo窗体,获取用户输入信息,并将这些信息返回给FormMain 1. FormMain和FormInfo 点击“修改...”按钮,显示FormInfo 2. 设置FormInfo中buttonOK和buttonCancal的属性 3. FormMain代码 public partial class FormMain : Form { public FormMain() { InitializeComponent(); } private void buttonInfo_Click( object sender, EventArgs e) { // 实例化FormInfo,并传入待修改初值 var formInfo = new FormInfo(labelInfo.Text); // 以对话框方式显示FormInfo if (formInfo.ShowDialog() == DialogResult.OK) { // 如果点击了FromInfo的“确定”按钮,获取修改后的信息并显示 labelInfo.Text = formInfo.Information; } } } 4. FormInfo代码 public partial

delphi窗体按钮灰化禁用

匿名 (未验证) 提交于 2019-12-03 00:14:01
1。使最小化按钮变灰: setwindowlong(handle,gwl_style,getwindowlong(handle,gwl_style) and not ws_minimizebox ); 2。使最大化按钮变灰: setwindowlong(handle,gwl_style,getwindowlong(handle,gwl_style) and not ws_maximizebox); 3. 关闭按钮变灰色 EnableMenuItem(GetSystemMenu(Handle, FALSE), SC_CLOSE,MF_BYCOMMAND or MF_GRAYED); 4 禁用ATL+F4 利用消息机制来处理关闭事件 在tform类里写 procedure wmclose(var msg:tmessage);message wm_close; ... ... .. 然后写具体过程 procedure tform1.wmclose(var msg:tmessage) begin // end; 想在他按下的时候干什么你可以放在这个过程里,要是想继续执行关闭,用 inherited; 这样写了就屏蔽了ALT+F4 来源:博客园 作者: zyb2016 链接:https://www.cnblogs.com/zyb2016/p/11670735.html

怎样制作像delphi一样的启动欢迎画面?

匿名 (未验证) 提交于 2019-12-03 00:11:01
//在工程里面写 Application.Initialize; Application.Title := '管理系统'; Application.ShowHint := True; //闪现窗体创建显示 FormSplash := TFormSplash.Create(Application); FormSplash.Show; FormSplash.Update; Application.CreateForm(TFormMain, FormMain); FormSplash.Hide; FormSplash.Free;   精心编写的WINDOWS程序显示启动注意事项,称之为溅射屏幕(splash screen)。利用一点儿小小的内容,即可给程序的显示添加不少色彩。   由于工程本身创建程序的主窗口,且启动溅射屏幕必须在创建主窗口之前出现,所以工程文件必须创建自己的启动屏幕。这意味着用户必须修改源代码来创建工程文件,而这通常在DELPHI编程中是不需要的。下面的过程介绍了溅射屏幕的建立过程。   1、开始一个新的工程。将窗体命名为MainForm,同时将其Caption属性设置为SplashinDemo。把这个工程保存在一个目录中,如C:\Projects\Splashin。把MainForm的单元命名为Main,把工程文件命名为Splashin。   2

Delphi Close、Halt、terminate、ExitProcess的区别

匿名 (未验证) 提交于 2019-12-03 00:02:01
Close: 1.只关闭本窗体 2.当Close是一个主窗体时,程序会退出。 3.Close会发生FormClose事件,FormCloseQuery事件 4.主窗体close以后程序就Application.Terminate了 5.子窗体close以后。没释放,还可以Show出来。 6.也是说主窗口的Close方法其实也是调用Application的Terminate来终止程序的。 Halt: 会发生FormDestory事件,用于强行终止应用程序的执行,返回操作系统(非正常退出方式)。 Application.terminate: 1.是关闭整个程序,包括所有窗体。 2.Application.Terminate以上三个事件都不会发生Application.Terminate就是程序结束了。 ExitProcess(0): 1.直接干净的终止程序。 来源:博客园 作者: 滔Roy 链接:https://www.cnblogs.com/guorongtao/p/11504253.html