C# WINFORM 弹出窗口一般都要新建一个Form类吗?

如题,我打算做个弹出窗口,是一些配置信息的设置,一般来说弹出窗口都要新new一个form吗?请教两个类传值有点麻烦,除了构造函数,有什么简便方法吗?newform.Own... 如题,我打算做个弹出窗口,是一些配置信息的设置,
一般来说 弹出窗口都要新new 一个form吗?

请教
两个类传值有点麻烦,除了构造函数,有什么简便方法吗?
newform.Owner是什么?有什么效果?
展开
 我来答
百度网友d242235
2010-04-21 · TA获得超过2385个赞
知道大有可为答主
回答量:1403
采纳率:84%
帮助的人:811万
展开全部
1.不需要。单体模式可以解决重复new对象的过程。

假如你希望一个窗口只存在一个,那你不断的new,那一定是不断创建新的对象,结果只能是多窗口同时显示。单体模式将只返回一个唯一对象,这个对象由类的内部产生,而不是外部创建。

2.不理解你为什么说构造函数传值会麻烦,这明明是最简单的传值方法。当然,除了构造函数,为类创建属性,也可以传值。当然,最灵活的方式是委托,为属性的Set方法创建一个委托事件。当赋值时,即刻触发注册此事件的方法,便可使用新值。

3.form.Owner用于指定窗体的父窗体,当你的窗体以对话框方式显示,可以指定此对话框的所有者。当点击次所有者窗体时,页面会被激活到对话框窗体上。
fqmail
推荐于2018-05-06 · TA获得超过524个赞
知道小有建树答主
回答量:506
采纳率:0%
帮助的人:188万
展开全部
如果您说得是弹出窗口,那么的确如此

new form2 = New Form2();
form2.ShowDialog();
form2.Dispose();

注:
ShowDialog()显示模式窗体
Show()显示非模式窗体
根据具体情况使用

补充:
传递参数不麻烦啊,例如在From2中有个属性
private string _truename = string.Empty;
/// <summary>
/// 真实姓名。
/// </summary>
Public string TrueName
{
get { return _truename; }
set { _truename = value; }
}
在From1中,可以这样传递
new form2 = New Form2();
form2.TrueName = "刘德华";
form2.ShowDialog();
form2.Dispose();

再或者,参数可以用数据库或者配置文件保存,不存在传递问题
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tengzhao201
2010-04-21
知道答主
回答量:29
采纳率:0%
帮助的人:27.2万
展开全部
两个类传值:你可以设置一个public static 的变量,这样就可以直接用“窗体类.变量名”来访问了,注意:变量的初值一定要在构造函数里面设置
newform.Owner是指明弹窗的父窗体
这样可以通过“newform.Owner.父窗体的变量名”来访问父窗体的变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
llinkin
2010-04-21 · TA获得超过182个赞
知道小有建树答主
回答量:328
采纳率:0%
帮助的人:349万
展开全部
一般来说你的新建一个form1
然后form1 newform1 = new form1();
nenewform1.Owner = this;
nenewform1.Show();
就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式