using System;
using System.Windows.Forms;
using System.Text;
namespace AsyncWorkerCs {
/// <summary>
/// sets the Tabpages Text to the Type-name of the at last added Control
/// </summary>
public class TestTabControl : TabControl {
protected override void OnControlAdded(ControlEventArgs e) {
base.OnControlAdded(e);
e.Control.ControlAdded += tp_ControlAdded;
e.Control.ControlRemoved += tp_ControlRemoved;
}
void tp_ControlRemoved(object sender, ControlEventArgs e) {
var tp = (TabPage)sender;
if(tp.Controls.Count == 0) tp.Text = tp.Name;
}
void tp_ControlAdded(object sender, ControlEventArgs e) {
var tp = (TabPage)sender;
var s = e.Control.GetType().Name;
for(var i = 0; i < s.Length; i++) if(char.IsUpper(s[i])) {
tp.Text = s.Substring(i);
return;
}
}
}
}