gpt4 book ai didi

c# - 如何将值从主窗体返回到不同的窗体或类(C#)

转载 作者:行者123 更新时间:2023-12-03 20:38:11 25 4
gpt4 key购买 nike

由于某些未知的原因,这个愚蠢的事情无法实现。

我在主窗体中有一个int count,我想将其返回到另一个类或窗体。

namespace my_speller
{
public partial class login : Form
{
public login()
{
InitializeComponent();
}

int count;
private void btnlogin_MouseUp(object sender, MouseEventArgs e)
{
dbaccess obj = new dbaccess();

for (int i = 0; i < 10; i++)
{
if (txtusername.Text == obj.Usersusername()[i])
{
count = i;
break;
}
}
}

public int namecount()
{
return count;
}

}
}

dbaccess 是另一个类,我可以成功地将该类中定义的函数 (Usersusername) 调用到我的 login 表单。到此为止一切正常。现在我想将 int count 从主窗体返回到 dbaccess 类。因此,我实现了一个公共(public)函数namecount来返回count。但在另一个类中,count 始终为零。在主窗体中,我正确获取了 count 的值(即 i)。但是,当我以这种方式从 dbaccess 类调用时,不会返回任何内容:

        login obj = new login();
// do stuff

或者从同一程序中的另一种形式,如下所示:

namespace my_speller
{
public partial class student : Form
{
public student()
{
InitializeComponent();
}

private void button3_Click(object sender, EventArgs e)
{
login obj = new login();
MessageBox.Show(obj.namecount().ToString());
}

这里的消息框应该显示count,这是一些数字,但显示的内容为零。可能是什么原因?

当我尝试从主表单返回字符串时,也会发生同样的情况。在其他类中它始终为 null :(

提前致谢

编辑:你能给出代码片段本身吗?我不知道您可能会使用哪些技术术语来帮助我

最佳答案

private void button3_Click(object sender, EventArgs e)
{
login obj = new login();
MessageBox.Show(obj.namecount().ToString());
}

每次调用button3_Click时,都会实例化一个新的登录对象。换句话说,obj 不是对主窗体的引用;而是对主窗体的引用。它是对与主窗体类型相同的另一个对象的引用。

每次实例化登录对象时,计数默认为零。

关于c# - 如何将值从主窗体返回到不同的窗体或类(C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5391795/

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