akinwunmi Ответов: 1

Как сделать кнопку отключенной после того, как она была нажата один раз в C# windows form


Добрый день, пожалуйста, я создал приложение cbt и у меня есть кнопка start и submit.Всякий раз, когда нажата кнопка "Пуск", она приведет пользователя в экзаменационную зону, а затем, когда нажата кнопка "Отправить", пользователь получит там результат, но я хочу, чтобы кнопка "Пуск" была отключена навсегда после нажатия кнопки "Отправить", я не хочу, чтобы один и тот же пользователь делал экзамен дважды.Там, где находится панель управления студента, находится кнопка "Пуск".

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

  public void submit_Click(object sender, EventArgs e)
        {
 StudentDashBoard db = new StudentDashBoard();
db.btnstart.Enabled = false;

Karthik_Mahalingam

являются ли обе кнопки в одной и той же форме?

akinwunmi

Никакой другой формы

Karthik_Mahalingam

Открыты ли обе формы одновременно ?

Ralf Meier

Я полагаю, что вы имеете в виду это, даже если приложение (повторно)запускается снова ...?

akinwunmi

да спасибо

Ralf Meier

Затем вы должны сохранить эту информацию, по мнению пользователя, в файл.
Когда приложение запускается, вы должны сначала посмотреть, есть ли у вас какие-либо сохраненные данные. Когда пользователь входит в приложение, вы заглядываете в свои сохраненные данные и соответственно устанавливаете свойство Enabled-property.

1 Ответов

Рейтинг:
1

phil.o

Похоже, что при нажатии кнопки вы создаете новый экземпляр формы.
Вы не должны (и не должны).
Поскольку при выполнении события hanler форма уже создана, вам просто нужно получить доступ к экземпляру btntart в ней:

public void submit_Click(object sender, EventArgs e)
{
   btnstart.Enabled = false;
   // ...
}

Надеюсь, это поможет. Любезно.


CPallini

5.

phil.o

Спасибо :)

akinwunmi

общественного недействительными submit_Click(объект отправителя, EventArgs в электронной)
{
btnstart.Enabled = false;
// ...
}
это не работает я пробовал если несколько раз то что я хочу это то что пользователю не будет разрешено нажать кнопку Пуск снова если пользователь нажмет на кнопку Отправить

phil.o

Если вы хотите, чтобы кнопка "Пуск" была отключена навсегда (даже если приложение будет перезапущено), то вам придется сохранить это состояние снаружи; либо в локальной файловой системе, либо на сервере. Но тогда вам понадобится система входа в систему, если только ваше приложение не предназначено только для одного пользователя.
Ваши требования не очень ясны, не могли бы вы их уточнить?

akinwunmi

приложение представляет собой приложение cbt, где я могу иметь несколько пользователей.я не хочу, чтобы пользователь сдавал экзамен дважды, поэтому у меня есть кнопка start, когда пришло время для экзамена, она будет отображаться, а затем, когда пользователь нажмет на нее, он приведет пользователя в экзаменационную зону, как только пользователь отправит вопрос, кнопка start должна быть отключена. так что пользователь не сможет сдать экзамен дважды.

akinwunmi

перед тем как пользователь сдаст экзамен,потребуется регистрационный номер пользователя, если пользователь сдал экзамен, он должен показать, что пользователь не может сдать экзамен дважды.возможно ли это

phil.o

Тогда у вас должен быть где-то список регистрационных номеров пользователей. Вы должны сериализовать список регистрационных номеров, пользователи которых уже прошли тест. Поскольку вы не можете жестко закодировать этот список, вы должны хранить его где-то, либо в локальной файловой системе, либо на сервере, и загружать этот список при запуске программы.