gpt4 book ai didi

c#标签从私有(private)方法接收信息(工具箱值)

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:48 24 4
gpt4 key购买 nike

我创建了一个新表单,其中有一个工具箱。当我按下该表单中的按钮时,它应该将用户输入的信息(工具箱值)转发到主表单,在主表单中它应该在标签中显示该信息。

由于从工具箱创建该用户名的方法是私有(private)的,我无法通过任何其他方式访问它。将其公开似乎并没有什么不同,get,set 也没有(至少从我一直尝试的方式来看)。

可能有助于解释的图片:

image

代码(创建用户):

 namespace WindowsFormsApplication3
{
public partial class Newuserform : Form
{
public Newuserform()
{
InitializeComponent();
}

private void buttonCreateUser_Click(object sender, EventArgs e)
{
string uname = textboxUsername.ToString();
}

public void Unamecreate()
{

}

}
}

Form1 代码(接收创建的用户):

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

private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}

private void aboutToolStripMenuItem1_Click(object sender, EventArgs e)
{
Aboutform form2 = new Aboutform();
form2.Show();
}

private void newLocalUserToolStripMenuItem_Click(object sender, EventArgs e)
{
Newuserform formnewuser = new Newuserform();
formnewuser.Show();


}
}
}

最佳答案

你有很多选择。

一种方法是创建一个事件并在主窗体中处理它。

public partial class Newuserform : Form
{
//the public property
public event EventHandler<string> UnameChanged;
public Newuserform()
{
InitializeComponent();
}

private void buttonCreateUser_Click(object sender, EventArgs e)
{

if (UnameChanged != null)
UnameChanged(textboxUsername.ToString()); //fire the event
}
}

现在,要“处理”事件,请在主窗体中执行以下操作:

private void newLocalUserToolStripMenuItem_Click(object sender, EventArgs e)
{
Newuserform formnewuser = new Newuserform();

formnewuser.UnameChanged += Handler;

formnewuser.Show();
}

private void Handler (object sender, string Uname)
{
// do something wit the new Uname.
}

注意:重新创建 Newuserform 需要清理以前的附加资源。

关于c#标签从私有(private)方法接收信息(工具箱值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48977173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com