相关疑难解决方法(0)

将值从一个表单发送到另一个表单

我想在两个表单(c#)之间传递值.我该怎么做?

我有两种形式:Form1和Form2.

Form1包含一个按钮.当我单击该按钮时,Form2应该打开,Form1应该处于非活动模式(即不可选).

Form2包含一个文本框和一个提交按钮.当我在Form2的文本框中键入任何消息并单击提交按钮时,Form2应该关闭,Form1应该使用提交的值突出显示.

我该怎么做?有人可以通过一个简单的例子帮助我做到这一点.

c# modal-dialog winforms

74
推荐指数
4
解决办法
32万
查看次数

在C#中读取默认应用程序设置

我有自定义网格控件的许多应用程序设置(在用户范围内).其中大多数是颜色设置.我有一个表单,用户可以自定义这些颜色,我想添加一个按钮,以恢复默认颜色设置.如何阅读默认设置?

例如:

  1. 我有一个名为用户设置CellBackgroundColorProperties.Settings.
  2. 在设计时我将值设置CellBackgroundColorColor.White使用IDE.
  3. 用户设置CellBackgroundColorColor.Black在我的计划.
  4. 我保存设置Properties.Settings.Default.Save().
  5. 用户点击Restore Default Colors按钮.

现在,Properties.Settings.Default.CellBackgroundColor回归Color.Black.我怎么回去Color.White

.net c# application-settings winforms

28
推荐指数
3
解决办法
4万
查看次数

在Windows窗体之间传递值c#

我正在努力研究如何在表单之间传递值.我有四种形式,我想将由Login第四和最终形式检索到的信息传递给我.

这就是我到目前为止所拥有的.

在这个功能:

private void btnLogin_Click(object sender, EventArgs e)
Run Code Online (Sandbox Code Playgroud)

我已经反序列化了我想要的数据:

NewDataSet resultingMessage = (NewDataSet)serializer.Deserialize(rdr);
Run Code Online (Sandbox Code Playgroud)

然后,当我打电话给下一个表格时,我已经这样做了:

Form myFrm = new frmVoiceOver(resultingMessage);
myFrm.Show();
Run Code Online (Sandbox Code Playgroud)

然后,我的VoiceOver表单看起来像这样:

public frmVoiceOver(NewDataSet loginData)
{
    InitializeComponent();
}

private void btnVoiceOverNo_Click(object sender, EventArgs e)
{
    this.Close();
    Form myFrm = new frmClipInformation();
    myFrm.Show();
}
Run Code Online (Sandbox Code Playgroud)

当我调试时,我可以看到数据处于loginData第二种形式,但我似乎无法在btnVoiceOverNo_Click事件中访问它.我如何访问它以便将其传递给下一个表单?

c# winforms

6
推荐指数
1
解决办法
3万
查看次数

如何将对象从 form1 传递到 form2 并返回到 form1?

在决定提出这个问题之前,我已经对这个问题做了一些研究。我只是找不到任何对我有帮助的东西。

我正在用 C# 为紧凑框架 2.0 编写一个应用程序。

我需要在 form1 上实例化一个数据对象并将该对象传递给 form2。处理 form2 中的数据对象,然后将该数据传递回 form1 以便保存。

我理解表单只是一个对象,我也理解对象是通过引用而不是通过值过去的。我也了解这两种类型之间的区别。由于某种原因我无法让它发挥作用。

实现这一目标的最佳且最简洁的代码方式是什么?

c# winforms

4
推荐指数
1
解决办法
2万
查看次数

如何在C#中从另一个表单更新一个表单上的标签?

我想更新Form1from的标签Form2.所以这就是我所拥有的:

// Form1
public string Label1
{
    get { return this.label1.Text; }
    set { this.label1.Text = value; }
}


// Form2
private void button1_Click(object sender, EventArgs e)
{
    Form1 frm1 = new Form1();
    frm1.Label1 = this.textBox1.Text;
    this.Close();
}
Run Code Online (Sandbox Code Playgroud)

所以上面的代码不起作用.但是,当我添加以下内容时:

frm1.Show();
Run Code Online (Sandbox Code Playgroud)

this.Close();
Run Code Online (Sandbox Code Playgroud)

在Form2代码中,Form1显然是再次打开(两个窗口).但是我希望它在同一个窗口中更新,所以我认为this.Close()是不必要的.

有人有主意吗?

.net c# forms winforms

0
推荐指数
1
解决办法
6322
查看次数

textbox1.Text无法从另一个表单复制textbox2.Text值

以下是我的代码

private void btnCptKb5_Click(object sender, EventArgs e)
{ 
   Form1 form1 = new Form1();
   textbox1.text = form1.textbox1.text;
}
Run Code Online (Sandbox Code Playgroud)

为什么我不能复制form1文本框的值?

.net c# textbox

0
推荐指数
1
解决办法
430
查看次数