agusmart94 Ответов: 1

Как я могу решить эту ошибку "не существует в текущем контексте".


После нажатия кнопки входа в систему я хотел бы скрыть форму входа в систему и отобразить форму подтверждения входа вместе со второй формой, содержащей боковую панель. Когда я нажимаю кнопку, я получаю сообщение об ошибке "не существует в текущем контексте".

public partial class Dashboad : Form
{
    public Dashboad()
    {
        InitializeComponent();
    }

    private int imageNumber = 1;

    public void LoadNextLoad()
    {
        if (imageNumber == 10)
        {
            imageNumber = 1;
        }
        slider.ImageLocation = string.Format(@"images/{0}.jpg", imageNumber);
        imageNumber++;
    }

    private void slideTimer_Tick(object sender, EventArgs e)
    {
        LoadNextLoad();
    }

    private void Dashboad_Load(object sender, EventArgs e)
    {

    }
    private void LeftPanel_Paint(object sender, PaintEventArgs e)
    {

    }
    private void BodyPanel_Paint(object sender, PaintEventArgs e)
    {

    }
}

public partial class loginForm : Form
{
    public loginForm()
    {
        InitializeComponent();
    }
    private void btnlogin_Click(object sender, EventArgs e)
    {
        this.Hide();
        SideBarMenu menu = new SideBarMenu();
        menu.TopLevel = false;
        menu.FormBorderStyle = FormBorderStyle.None;
        menu.Dock = DockStyle.Fill;
        LeftPanel.Controls.Clear();
        LeftPanel.Controls.Add(menu);
        menu.Visible = true;
    }
}


Что я уже пробовал:

public partial class Dashboad : Form
{
    public Dashboad()
    {
        InitializeComponent();
    }

    private int imageNumber = 1;

    public void LoadNextLoad()
    {
        if (imageNumber == 10)
        {
            imageNumber = 1;
        }
        slider.ImageLocation = string.Format(@"images/{0}.jpg", imageNumber);
        imageNumber++;
    }

    private void slideTimer_Tick(object sender, EventArgs e)
    {
        LoadNextLoad();
    }

    private void Dashboad_Load(object sender, EventArgs e)
    {

    }
    private void LeftPanel_Paint(object sender, PaintEventArgs e)
    {

    }
    private void BodyPanel_Paint(object sender, PaintEventArgs e)
    {

    }
    public void Dothis()
    {        
        SideBarMenu menu = new SideBarMenu();
        menu.TopLevel = false;
        menu.FormBorderStyle = FormBorderStyle.None;
        menu.Dock = DockStyle.Fill;
        LeftPanel.Controls.Clear();
        LeftPanel.Controls.Add(menu);
        menu.Visible = true;
    }
}

public partial class loginForm : Form
{
    public loginForm()
    {
        InitializeComponent();

    }

    Dashboad call = new Dashboad();

    private void btnlogin_Click(object sender, EventArgs e)
    {
        this.Hide();
        call.Dothis();
    }
}

Patrice T

"Когда я нажимаю кнопку, я получаю ошибку "не существует в текущем контексте"."
и Вы тоже получили эту должность ?

1 Ответов

Рейтинг:
0

OriginalGriff

Посмотрите на сообщение об ошибке; его полная форма выглядит так:

Error	<No>	The name '<property or methodname>' does not exist in the current context	d:\documents\aa backed up\my projects\generaltesting\GTForms\frmmain.cs	<Line>	<Col>	GTForms
И это в основном означает: "Я не могу найти ничего с таким именем"
Поэтому посмотрите на имя свойства или метода, если оно вам дает, посмотрите в файле, в котором он говорит вам, что нашел проблему, перейдите к номеру строки, в которой он говорит вам, что проблема включена.

Или просто дважды щелкните сообщение об ошибке, и VS доставит вас прямо туда.

Посмотрите на него внимательно. Проверьте строки непосредственно выше. Правильно ли пишется это имя? Доступен ли он вне класса, в котором он определен?

Мы не можем сделать это за вас: мы понятия не имеем, какие элементы управления вы используете, где они определены, или что они содержат. Так что начните с сообщения об ошибке и посмотрите, что вы можете узнать!