Я пытался установить страницу XtraTab Selected в конструкторе самостоятельно, как показано ниже,
public frmInquiryManagement()
{
InitializeComponent();
tabInquiryManagement.SelectedTabPage = xtraTabPage3;
}
Но это не работает. Пожалуйста, помогите мне сделать это.
XtraTabControl не предоставляет этот метод для прямого выбора выбранной страницы. Я вижу, что для реализации этого метода нам необходимо реализовать цикл внутри.
for(int i = 0; i < xtraTabControl1.TabPages.Count; i ++)
if(xtraTabControl1.TabPages[i].Name == "someName"){
xtraTabControl1.SelectedTabPage = xtraTabControl1.TabPages[i];
break;
}
Иначе это одно из ясных решений:
tabpage1.Show();
tabpage1.pageVisible=true;
xtraTabControl1.tabPages[0].selected=true;
Надеюсь, поможет. Приветствия.
Используйте следующий код в обработчике события Form Load
:
tabInquiryManagement.SelectedTabPage = xtraTabPage3;
tabInquiryManagement.MakePageVisible(xtraTabPage3);
Ваш код должен нормально работать, но кажется, что проблема в том, что форма еще не загружена, а вкладки еще не видны. Попробуйте установить значение SelectedTabPage
в событии Load
или событие Shown
xtraTabControl1.SelectedTabPageIndex = 0;
, где 0 - индекс страницы, которую вы хотите отобразить.
private void Form1_Load(object sender, EventArgs e)
{
SelectTabByTitle("xtraTabPage3",xtraTabControl1);
}
private void SelectTabByTitle(String tabTitle, XtraTabControl tabControl)
{
if (tabControl != null)
{
XtraTabPage pageToSelect = (from curPage in tabControl.TabPages
where curPage.Text == tabTitle
select curPage).FirstOrDefault();
if (pageToSelect != null)
{
tabControl.SelectedTabPage = pageToSelect;
}
}
}
Если вы хотите добиться этого, вы должны использовать свойство PageEnabled из компонента XtraTabPage.
xtraTabPage3.PageEnabled = true;