Seltsames UI-Verhalten :-(

19/10/2009 - 16:22 von Ann Wheyler | Report spam
Hallo Gemeinde!

Ich stecke hier irgendwie fest. Gestern hab ich mir eine Ableitung von
ToolStripControlHost geschrieben die ein NumericUpDown kapselt.

Sobald ich das in meinem ToolStrip dann einbinde scheint erstmal
alles Normal zu sein. Wenn ich auf Build gehe und Das Projekt
kompiliere ist die komplette Form nicht mehr nutzbar (keine Elemente
mehr auswàhlbar) Dann Muss ich das Form im Designmodus erstmal
schließen und dann wieder neu starten. Dann ist wieder alles OK bis
zum nàchsten Build.

Hat jemand ne Idee wo das Problem liegt?

Ich hab mal Den Code des Controls für das NumericUpDown angehangen:

[ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.ToolStrip)]
public partial class ToolstripNumericUpDown : ToolStripControlHost
{

#region CONSTRUCTORS
public ToolstripNumericUpDown() : base(CreateControlInstance())
{
InitializeComponent();
}
public ToolstripNumericUpDown(IContainer container) :
base(CreateControlInstance())
{
container.Add(this);
InitializeComponent();
}
#endregion

#region PUBLIC PROPERTIES
public NumericUpDown NumericUpdown
{
get
{
return Control as NumericUpDown;
}
}
public decimal Value
{
get { return NumericUpdown.Value; }
set { NumericUpdown.Value = value; }
}
#endregion

#region PRIVATE METHODS
private static Control CreateControlInstance()
{
NumericUpDown n = new NumericUpDown();
n.AutoSize = false;
n.Height = 20;
n.Width = 60;
n.ThousandsSeparator = false;
n.Minimum = new Decimal(0.18);
n.Maximum = new Decimal(0.50);
n.Increment = new Decimal(0.01);
n.DecimalPlaces = 2;
return n;
}
#endregion

#region OVERRIDINGS
protected override void OnSubscribeControlEvents(Control control)
{
base.OnSubscribeControlEvents(control);
NumericUpDown n = control as NumericUpDown;
n.ValueChanged += new EventHandler(n_ValueChanged);
}
protected override void OnUnsubscribeControlEvents(Control control)
{
base.OnUnsubscribeControlEvents(control);
NumericUpDown n = control as NumericUpDown;
n.ValueChanged -= new EventHandler(n_ValueChanged);

}
protected override Size DefaultSize
{
get { return new Size(60, 20); }
}
#endregion

#region EVENTHANDLER
void n_ValueChanged(object sender, EventArgs e)
{
if (this.ValueChanged != null) ValueChanged(sender, e);
}
public event EventHandler ValueChanged;
#endregion

}

Dank & Gruß, Ann
 

Lesen sie die antworten

#1 Ulf [Kado] Kadner
20/10/2009 - 10:26 | Warnen spam
Hallo Ann Wheyler! Du schriebst:

Sobald ich das in meinem ToolStrip dann einbinde scheint erstmal alles
Normal zu sein. Wenn ich auf Build gehe und Das Projekt kompiliere ist
die komplette Form nicht mehr nutzbar (keine Elemente mehr auswàhlbar)
Dann Muss ich das Form im Designmodus erstmal schließen und dann wieder
neu starten. Dann ist wieder alles OK bis zum nàchsten Build.

Hat jemand ne Idee wo das Problem liegt?



Also wo das Problem liegt kann ich Dir nicht sagen. Aber ich kann
zumindest das Verhalten bestàtigen. (hier VS2008 ohne SP unter Vista)

MfG, Ulf

Ähnliche fragen