Problem with tab control event - Jay Riggs |
Friday, March 09, 2007 4:09 PM
|
Mark,
I created a VS.NET 2003 WinForm project, added a panel and to the
panel a tab, a splitter (oriented as horizontally) and another tab.
I wired both tab controls to its SelectedIndexChanged event and on
clicking each TabPage in both tabs the event fired.
I then wired the TabIndexChanged event for both tabs and found that
this event didn't fire for any TabPage for either tab. I'm not sure
why, perhaps I don't understand what the event is supposed to do
exactly.
For fun (or at least what passes for fun for me these days) I had both
tabs SelectedIndex property display when the SelectedIndexChanged
events fired. I noticed that the SelectIndex was changing, yet
changing the index via a mouse click wasn't firing the TabIndexChanged
event.
I was going to post my project but saw that it would have been pretty
much illegible. If you're not using the SelectedIndexChanged event
for your tab controls, perhaps that's you're solution.
-Jay |
 |
Problem with tab control event - Mark F. |
Saturday, March 10, 2007 10:36 AM
|
Thanks Jay,
I simply wanted to display the current view (tabpage) on a statusbar pane.
private void viewsTabControl_SelectedIndexChanged(object sender, EventArgs
e)
{
sbrViewPane.Text = viewsTabControl.SelectedTab.Text;
// or ...,
// sbrViewPane.Text =
viewsTabControl.TabPages[viewsTabControl.SelectedIndex].Text;
}
I think that I found the trouble. One view is a picturebox control that
previews an image file if the user selects one. I used the OnPaint event to
draw text in the view if the user clicks the tab and no image is loaded (ie,
SelectedIndexChanged event fires normally for the preview tabpage. I still
don't know why this behavior is occurring however.
Mark |
 |