winforms 无法更改userControl的属性,因为它不会显示为另一个变量

u7up0aaq  于 2023-06-24  发布在  其他
关注(0)|答案(1)|浏览(105)

我是C#和Windows窗体的新手,我在尝试创建登录页面时遇到了一个错误,我想知道你们是否有任何建议。问题是,当我试图使用一个在不同类中的一个类中定义的公共变量时,它会说“名称'loginPage'在当前上下文中不存在”。“loginPage”是一个变量的名称,该变量是在另一个类中定义的UserControl。

namespace CollegeDashboard
{
    partial class Dashboard
    {
       ...

        #endregion

        public Pages.LoginPages.LoginPage loginPage;//This is where "loginPage" is defined
    }
}
namespace CollegeDashboard.Pages.LoginPages
{
    public partial class LoginPage : UserControl
    {
        public LoginPage()
        {
            InitializeComponent();
        }

        private void LoginButton_Click(object sender, EventArgs e)
        {
            loginPage//This is where "The name 'loginPage' does not exist in the current context" occurs
        }
    }
}

我试过从另一个类访问变量,但没有工作,我没有任何想法,下一步尝试什么,任何帮助将非常感谢。

qybjjes1

qybjjes11#

要从另一个类引用Dashboard类的字段、属性或方法,首先需要Dashboard类的示例。例如:

var myDashboard = new Dashboard();
var myLoginPage = myDashboard.loginPage;
// TODO: do something with myLoginPage

编辑:根据@BenVoight的评论,在你需要它之前立即创建一个新的示例很可能不是正确的解决方案,相反,你需要一个**示例,正确地初始化你想用它做的任何事情。而具体如何做到这一点将取决于你想要实现的目标。
我的主要观点是你需要一个Dashboard的示例来引用它的成员。抱歉,我没说清楚。

相关问题