Nag*_*agu 74 c# modal-dialog winforms
我想在两个表单(c#)之间传递值.我该怎么做?
我有两种形式:Form1和Form2.
Form1包含一个按钮.当我单击该按钮时,Form2应该打开,Form1应该处于非活动模式(即不可选).
Form2包含一个文本框和一个提交按钮.当我在Form2的文本框中键入任何消息并单击提交按钮时,Form2应该关闭,Form1应该使用提交的值突出显示.
我该怎么做?有人可以通过一个简单的例子帮助我做到这一点.
Jes*_*alm 49
有几个解决方案,但这是我倾向于使用的模式.
// Form 1
// inside the button click event
using(Form2 form2 = new Form2())
{
if(form2.ShowDialog() == DialogResult.OK)
{
someControlOnForm1.Text = form2.TheValue;
}
}
Run Code Online (Sandbox Code Playgroud)
和...
// Inside Form2
// Create a public property to serve the value
public string TheValue
{
get { return someTextBoxOnForm2.Text; }
}
Run Code Online (Sandbox Code Playgroud)
小智 36
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2(textBox1.Text);
frm2.Show();
}
Run Code Online (Sandbox Code Playgroud)
public Form2(string qs)
{
InitializeComponent();
textBox1.Text = qs;
}
Run Code Online (Sandbox Code Playgroud)
小智 13
定义属性
public static class ControlID {
public static string TextData { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在里面 form2
private void button1_Click(object sender, EventArgs e)
{
ControlID.TextData = txtTextData.Text;
}
Run Code Online (Sandbox Code Playgroud)
获取数据form1
和form3
private void button1_Click(object sender, EventArgs e)
{
string text= ControlID.TextData;
}
Run Code Online (Sandbox Code Playgroud)
经过一系列努力将数据从一种形式传递到另一种形式后,我终于找到了一个稳定的答案.它就像魅力一样.
您需要做的就是public static datatype 'variableName'
在一个表单中声明一个变量,并将值分配给您想要传递给另一个表单的变量,并直接使用表单名称以另一个形式调用此变量(不要将此表单的对象创建为静态变量可以直接访问)并访问此变量值.
这样的例子是,
Form1中
public static int quantity;
quantity=TextBox1.text; \\Value which you want to pass
Run Code Online (Sandbox Code Playgroud)
窗体2
TextBox2.Text=Form1.quantity;\\ Data will be placed in TextBox2
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
317008 次 |
最近记录: |