您的位置 首页 > 娱乐休闲

Winform开发——基础(用户控件)

用途

用户控件相当于带界面的类模块,并可以编译成dll。具有以下优点:

1.可以把程序分离成内核部分和引用部分,便于开发和维护;

2.可以多进程调用;

3.安全性好。

例子

1.新建一个“Windows控件库”的项目;

2.编写控件程序,如需要传递参数,定义如下:

public PointF p1,p2;

3.在【生成】中生成dll;

4.用【文件】/【添加项目】/【新建项目】,新建一个使用控件项目,为“Windows应用程序”;

5.用【项目】/【添加引用】/【项目】,引用控件项目;

6.在【工具箱】/【我的用户控件】中选择生成的控件;

7.把使用项目设置为启动;

8.编写程序。如果传递参数,用:

private void Form1_Load(object sender, Sy e)

{

u PointF(20,20);

u PointF(100,200);

}

然后可以在这个解决方案中随意修改控件设计,只要运行调用程序,就可以自动编译和加载控件了。如果修改了控件的界面,还需要重新生成和加载。

如果在单独的使用程序中调用这个dll控件,则先需要添加引用,然后需要在“工具箱”上点击右键,选择【添加/移除项】,把这个控件添加到工具箱上,才可以添加到form上。

在使用程序中可以随意调用控件中的方法。如果要在控件中调用使用程序中的方法,则可以使用一个传递参数,如 int bi,每次点击事件时bi值改变。然后在使用程序中用一个timer控件,用事件timer1_Tick来监控bi的变化,来触发一个方法。

inputBox方法

类定义

public class InputBox : Sy

{

private Sy txtData;

private Sy lblInfo;

private Sy components = null;

private InputBox()

{

InitializeComponent();

}

protected override void Dispose( bool disposing )

{

if( disposing )

{

if(components != null)

{

com();

}

}

ba( disposing );

}

private void InitializeComponent()

{

= new Sy();

= new Sy();

();

// txtData

.Font = new Sy("宋体", 10.5F, SyStyle.Regular, Sy, )(134)));

.Location = new Sy(19, 8);

.Name = "txtData";

.Size = new Sy(317, 23);

.TabIndex = 0;

.Text = "";

.KeyDown += new Sy(_KeyDown);

// lblInfo

.Font = new Sy("宋体", 9F, SyStyle.Regular, Sy, )(134)));

.Location = new Sy(19, 32);

.Name = "lblInfo";

.Size = new Sy(317, 16);

.TabIndex = 1;

.Text = "按[Enter]键确认,按[Esc]键取消";

// InputBox

= new Sy(6, 14);

= new Sy(350, 48);

= false;

();

();

= SyBorderStyle.FixedDialog;

= "InputBox";

= "InputBox";

(false);

}

//对键盘进行响应

private void txtData_KeyDown(object sender, Sy e)

{

i == Keys.Enter)

{

();

}

else if == Keys.Escape )

{

= ;

();

}

}

//显示InputBox

public static string ShowInputBox(string Title,string keyInfo)

{

InputBox inputbox = new InputBox();

in =Title;

if () != )

in =keyInfo;

in();

return inputbox.;

}

}

普通调用

private void button1_Click(object sender, Sy e)

{

string inMsg = In("输入信息", );

//对用户的输入信息进行检查

if () != )

{

Me(inMsg);

}

else

{

Me("输入为空!");

}

如果需要输入一个int数值,则程序如下:

string inMsg = In("输入信息", );

int a1;

if () != )

{

try

{

a1=Convert.ToInt32());

Me());

}

catch (Exception)

{

Me("输入错误!继续保持原有数据。");

}

}

else

{

Me("输入为空!");

}

增加缺省值

在类中增加以下程序:

public static string ShowInputBox(string Title,string keyInfo,string textInfo)

{

InputBox inputbox = new InputBox();

in =Title;

inputbox.=textInfo;

if () != )

in =keyInfo;

in();

return inputbox.;

}

可以在调用时输入textBox中的缺省值。

版本设置

在文件A中修改

[assembly: AssemblyVersion("2.1.1.*")]

则在最后生成的EXE文件中显示版本号2.2.1.10202,最后一个号码随着每次编辑修改后递增。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“winfrom中怎么用vi如何生成递增”边界阅读