我在一个form窗体里怎么呼叫另一个form,并且可以返回

mimihuhu 2008-10-18 01:45:59
写了一个小应用程序,加个了个菜单按钮,希望点击这个菜单按钮,打开一个新form,填写信息后返回前一个窗口
...全文
169 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
NeptuneGrass 2008-10-18
  • 打赏
  • 举报
回复
破碎的脸 2008-10-18
  • 打赏
  • 举报
回复
fomr1 f1=new form1();
在这里得到一个对象,是你要打开的那个窗体。
f1.showdialog();
这种打开是指有模式打开
f1.show();
这是无模式打开,当然两者的区别自己可以观查一下。
得到的这个f1对象可以继续操作,使用其一切属性。
比如f1.close();f1.hide();等等。。
草青工作室 2008-10-18
  • 打赏
  • 举报
回复
1.在 form1 中写
btnOpen()
{
string str="";
form2.ShowDialog();
if(from2.dialog==dialog.ok)
{
str=from2.str;
}
}


2.form2 中
pulbic string str="";

btnOKclick()
{
this.Dialog=Dialog.ok ; //这句话记不清了,是操作一个返回该窗体的一个属性值
this.close();
}


皇家玛 2008-10-18
  • 打赏
  • 举报
回复
在弹出窗口众定义一个public object a;

在主窗口弹出事件中写 弹出窗口.a=this;
ChargeForward 2008-10-18
  • 打赏
  • 举报
回复
方法很多 此处仅举一例

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Form2 childForm = new Form2(label1);
childForm.ShowDialog();

}


public partial class Form2 : Form
{
private Label labelChild;

public Form2(Label label)
{
InitializeComponent();
labelChild = label;
}

private void button1_Click(object sender, EventArgs e)
{
labelChild.Text = textBox1.Text;
this.Close();
}
}
brookmill 2008-10-18
  • 打赏
  • 举报
回复
好像也可以这样:
Form2 form2 = new Form2(this);
if (form2.ShowDialog() == DialogResult.OK)
{
abc = form2.textboxAbc.Text;
......
}
brookmill 2008-10-18
  • 打赏
  • 举报
回复
我一般是这么做:
在form1里面
form2 = new Form2(this);
form2.ShowDialog();
在form2里面
public Form2(Form1 form1)
{
m_Form1 = form1;
}
btnOKclick()
{
m_Form1.Setvalues(......);
}
huoyujia2000 2008-10-18
  • 打赏
  • 举报
回复
我遇到过两种情况
1,返回一个bool值
用form.showdialog好像叫这个,可以用对到
2,返回一系列值
public成员函数可以
丛晓男 2008-10-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 huoyujia2000 的回复:]
我遇到过两种情况
1,返回一个bool值
用form.showdialog好像叫这个,可以用对到
2,返回一系列值
public成员函数可以
[/Quote]

两个窗体的关系太紧密了,可以不用传递窗体参数,写一个代理,通过代理调用方法

110,501

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧