Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Tab Control Question

24 views
Skip to first unread message

Tom Krueger [MSFT]

unread,
Jul 14, 2004, 4:06:57 PM7/14/04
to
Hello,

How to validate tabcontrol pages?

Using the full .NET Framework I would suggest using the Validating event,
however, the .NET Compact Framework does not support the CausesValidation
property on Control so honestly I am not entirely sure when Validating gets
fired. I will check into this.

An alternative could be to use SelectedIndexChanged on the tab control. In
this event you could validate the last tab that was selected. I don't
believe there is a way to get the last index from the event args so you will
need to store the last selected tab. Here is some code that should help.

private int _currentTabIndex = 0;

private void tabControl1_SelectedIndexChanged(object sender,
System.EventArgs e) {

// Do not validate if the _currentTabIndex equals the selected
// index to avoid endless loop.
if (_currentTabIndex != tabControl1.SelectedIndex) {

// Validate Last Tab.
if (!IsTabValid(_currentTabIndex)) {
tabControl1.SelectedIndex = _currentTabIndex; // Will fire
SelectedIndexChanged event again.
MessageBox.Show("Something is wrong.");
}

// Set current tab index.
_currentTabIndex = tabControl1.SelectedIndex;
}
}

private bool IsTabValid(int tabIndex) {
switch(_currentTabIndex) {
case 0:
if (textBox1.Text.Length == 0) {
return false;
}
break;
case 1:
if (textBox2.Text.Length == 0) {
return false;
}
break;
}

return true;

}

Let me know how this works out for you.
Tom


--
Tom Krueger
Microsoft Corporation
Program Manager
http://weblogs.asp.net/tom_krueger

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm


"A Gill" <AG...@discussions.microsoft.com> wrote in message
news:E3D11677-964C-49A8...@microsoft.com...
> Hey Guys,
>
> Does anybody know much about the tabcontrol. Seems very limited in what it
can do. Does anyone know how I would go about validating a tabpage when the
user clicks on the next tab button? And stop the user if the validation
fails.
>
> Thanks
>
>


Gill@discussions.microsoft.com A Gill

unread,
Jul 27, 2004, 12:22:32 PM7/27/04
to
Hello Tom,

Thanks for your suggestion; However, I already tried implementing this solution. I found that the tab control refreshed strangely. I went ahead and created a custom tab control. Are you planning at providing more functionally to the tab control in Whidbey (2005)?

0 new messages