У меня проблема, и сценарий следующий:
Я создал пользовательский элемент управления с одним компонентом PropertyGrid
. К этому PropertyGrid
я добавил кнопку (шестнадцатеричный режим) в PropertyGrid ToolStrip
. Все отлично и прекрасно работает!
Но когда этот элемент управления отображается в форме и пользователь нажимает "Windows->Switch User"
и снова регистрируется с тем же именем пользователя, моя кнопка (шестнадцатеричный режим) исчезает . Также появляется четвертая кнопка, которая была спрятана вручную ...
Я не знаю, что случилось. Возможно, Windows перезагрузит свой компонент при входе пользователя в систему?
Windows 7 (x64 / x86)
public partial class CompProperty : UserControl
{
private System.Windows.Forms.ToolStripButton _tsbMode = null;
public CompProperty()
{
InitializeComponent();
createAdditionalButtons();
}
private void createAdditionalButtons()
{
foreach ( Control control in propertyGrid.Controls )
{
ToolStrip toolStrip = control as ToolStrip;
if ( toolStrip != null )
{
toolStrip.Items[4].Visible = false;
_tsbMode = new System.Windows.Forms.ToolStripButton();
_tsbMode.CheckOnClick = true;
_tsbMode.Checked = true;
_tsbMode.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
_tsbMode.Image = Resources.img_edit;
_tsbMode.ImageTransparentColor = System.Drawing.Color.Magenta;
_tsbMode.Name = "tsbMode";
_tsbMode.Size = new System.Drawing.Size( 23, 22 );
_tsbMode.Text = "Heximal Mode";
_tsbMode.ToolTipText = "Heximal Mode";
toolStrip.Items.AddRange( new System.Windows.Forms.ToolStripItem[] {
_tsbMode} );
break;
}
}
}
}