c#的winform窗体中如何嵌套exe应用程序

发布网友

我来回答

3个回答

热心网友

你可以把第一个窗体Form1
传给第二个窗体
在第二个窗体中就可以操作Form1
这样循环
调用
就可以了其实也没什么啊
你在窗体Form2的属性
事件中找
closing
这个事件
在这个事件里写
form1.show();其中form1是Form1传给Form2的一个对象因为我现在在网吧
没有环境
不便给你代码
思想就是这样的

热心网友

在界面的设计里点开属性,在窗口样式栏,有两项:
IsMdiContainer,MainMenuStrip
设置下就可以了

热心网友

(1)

用窗体的静态方法作为显示窗体和使用窗体功能的入口
一个窗体往往会显示其他窗体以实现一定的功能。通过在被调用窗体中实现一个静态函数供调用窗体使用可以简化窗体间的交互,隐蔽被调用窗体的数据,从而加强封装特性。
如主窗体为FormMain,被调用窗体为FormChild。在FormChild中实现一个静态方法:
Static
void
DoSomething()
{

new
FormChild.ShowDialog();
//实现功能
//…
}
在主窗体中调用被调用窗体的DoSomething()方法:
FormChind.DoSomething();
这样就可以显示被调用窗体并由被调用窗体执行预设的功能,并且该静态函数封装了构造和初始化被调用窗体的逻辑。程序的结构更加清晰,类的职责更加明确。
(2)

判断用户在对话框中点击的按钮
对话框的ShowDialog方法会返回DialogResult类型的返回值。DialogResult是枚举类型,通过检查该枚举值,即可知道用户是通过单击哪个按钮关闭对话框的。
例如,要检测用户是否是单击了OK按钮从而关闭文件对话框,可以使用如下代码:
if
(this.openFileDialogPhoto.ShowDialog()==DialogResult.OK)
{


}
(3)

将数据库中读取的照片文件显示在控件中
从数据库中读取照片,照片的列row.phptoImage是byte
数组类型。要将照片直接显示在控件中,而非先存储在硬盘上再调入控件显示,需要使用MemoryStream类。具体方法如下:
MemoryStream
mstream;

if(row.photoImage.Length!=0)

{

mstream=new
MemoryStream(row.photoImage);

this.picPhoto.Image=
new
Bitmap(mstream);

}
(4)

使用
Command
对象的
ExecuteScalar
方法
一般使用
Command
对象的
ExecuteReader
方法来将数据库的返回结果保存在
DataReader
中。如以下代码所示:
dbReader
=
cmd.ExecuteReader();
但如果返回结果是单个标量值,如一个整数或一个字符串,则可以执行
Command
对象的
ExecuteScalar
方法直接获取该值。
编码示例如下:
byte
b;
b
=
(byte)cmd.ExecuteScalar();
(5)


Command
对象添加参数的两种方法
这两种方法其实是
Parameters
对象的
Add
方法的两种变体。第一种方法比较简单,就是直接使用
Add
方法添加参数,并同时指定参数的类型和值。代码如下:
cmd.Parameters.Add("@EmpID",System.Data.SqlDbType.Int).Value
=
iEmpID;
另外一种方法比较复杂,它需要先声明一个
SqlParameter
类型的对象,然后使用
Add
方法添加该参数对象。这种方法便于调试。代码如下:
SqlParameter
paramEmpID
=
new
SqlParameter("@EmpID",
System.Data.SqlDbType.Int);
paramEmpID.Value
=
strSelfIntro;
cmd.Parameters.Add(paramEmpID);
(6)

解决Typed
DataSet中空字段值的问题
Typed
DataSet可以大大提高开发的效率。但是在某个字段值为空的情况下,使用Typed
DataSet读取该字段会引发系统异常。要解决这个问题有两种方法:
1)

在数据库中为所有运行为空的字段设置缺省值
2)

修改VS.NET自动生成的XSD文件
在这里仅介绍第二种方法。对于值可以为空的字段,XSD文件中原来的描述应该类似如下代码(其中DeptName、Title和Telephone字段在数据库中可以为空值):
<xs:elementname="Name"type="xs:string"/>
<xs:elementname="LoginName"type="xs:string"/>
<xs:elementname="Email"type="xs:string"/>
<xs:elementname="DeptName"type="xs:string"minOccurs="0"/>
<xs:elementname="Title"type="xs:string"minOccurs="0"/>
<xs:elementname="Telephone"
文章出处:http://www.diybl.com/course/4_webprogram/asp.net/netjs/2007921/72800.html

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com