Практическое руководство. Блокировка доступа ко вкладкам
В некоторых случаях требуется ограничить доступ к данным, которые можно использовать в приложении Windows Forms. Примером этого могут быть, когда у вас есть данные, отображаемые на страницах вкладок элемента управления вкладки; Администраторы могут иметь сведения на странице вкладки, который требуется запретить гостей или пользователей более низкого уровня.
Чтобы отключить страницы вкладок программными средствами
Написание кода для обработки элемента управления вкладка SelectedIndexChanged событий. Это событие, возникающее, когда пользователь переходит с одной вкладки к следующему.
Проверьте учетные данные. В зависимости от представленной здесь информации, вы можете проверить имя пользователя, который пользователь вошел в систему или другие формы учетные данные перед предоставлением пользователю для просмотра на вкладке.
Если пользователь имеет соответствующие учетные данные, отобразите вкладку, которая была нажата. Если пользователь не имеет соответствующие учетные данные, отобразить окно сообщения, или другой элемент пользовательского интерфейса, указывающий, что они не имеют доступ и вернуться на исходную вкладку.
Note
При реализации этой функции в приложении, можно выполнять проверку учетных данных во время формы Load событий. Это дает возможность скрыть вкладку до отображения пользовательского интерфейса, который является более понятную для программирования. Используемые ниже методы (проверка учетных данных и отключение вкладки в SelectedIndexChanged событий) для иллюстративных целей.
При необходимости при наличии более двух страниц вкладок, отображения страницы вкладки, отличной от первоначальной.
В следующем примере CheckBox элемент управления используется вместо проверки учетных данных, в качестве критерия для доступа к вкладке зависит от приложения. Когда SelectedIndexChanged событие возникает, если проверка учетных данных имеет значение true (то есть флажок установлен) и выбрана вкладка
TabPage2
(вкладка с конфиденциальными данными, в этом примере), затемTabPage2
отображается. В противном случаеTabPage3
отображается и отображается окно сообщения об отсутствии необходимых прав доступа. В приведенном ниже коде предполагается, что форма CheckBox управления (CredentialCheck
) и TabControl элемента управления с тремя вкладками.Private Sub TabControl1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabControl1.SelectedIndexChanged ' Check Credentials Here If CredentialCheck.Checked = True And _ TabControl1.SelectedTab Is TabPage2 Then TabControl1.SelectedTab = TabPage2 ElseIf CredentialCheck.Checked = False _ And TabControl1.SelectedTab Is TabPage2 Then MessageBox.Show _ ("Unable to load tab. You have insufficient access privileges.") TabControl1.SelectedTab = TabPage3 End If End Sub
private void tabControl1_SelectedIndexChanged(object sender, System.EventArgs e) { // Check Credentials Here if ((CredentialCheck.Checked == true) && (tabControl1.SelectedTab == tabPage2)) { tabControl1.SelectedTab = tabPage2; } else if ((CredentialCheck.Checked == false) && (tabControl1.SelectedTab == tabPage2)) { MessageBox.Show("Unable to load tab. You have insufficient access privileges."); tabControl1.SelectedTab = tabPage3; } }
private: System::Void tabControl1_SelectedIndexChanged( System::Object ^ sender, System::EventArgs ^ e) { // Check Credentials Here if ((CredentialCheck->Checked == true) && (tabControl1->SelectedTab == tabPage2)) { tabControl1->SelectedTab = tabPage2; } else if ((CredentialCheck->Checked == false) && (tabControl1->SelectedTab == tabPage2)) { MessageBox::Show(String::Concat("Unable to load tab. ", "You have insufficient access privileges.")); tabControl1->SelectedTab = tabPage3; } }
(Visual C#, Visual C++) Поместите следующий код в конструктор формы для регистрации обработчика событий.
this.tabControl1.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged);
this->tabControl1->SelectedIndexChanged += gcnew System::EventHandler(this, &Form1::tabControl1_SelectedIndexChanged);
См. также
- Общие сведения об элементе управления TabControl
- Практическое руководство. Добавление элемента управления на вкладку
- Практическое руководство. Добавление и удаление вкладок с помощью элемента управления TabControl в Windows Forms
- Практическое руководство. Изменение внешнего вида элемента управления TabControl в Windows Forms