Servus,
Warum funzt das OnPaint Event nur mit Ableitung aus Usercontrol, und nicht bei Ableitung aus Textbox?
Es gibt keinen Error oder so, es passiert nur einfach nichts.
Ich bin jetzt ne ganze Weile dabei mich mit dem Zeugs zu marten, hab dazu dieses Beispiel genommen.
http://entwickler-forum.de/archive/i...p/t-70135.html
Ob ich von Usercontrol ableite oder von Textbox muss doch egal sein, Event ist Event, wenn es das Paint-Event nicht gäbe, könnt ich es doch nicht deklarieren, oder was weiss ich hier nicht?
Warum funzt das OnPaint Event nur mit Ableitung aus Usercontrol, und nicht bei Ableitung aus Textbox?
Es gibt keinen Error oder so, es passiert nur einfach nichts.
Ich bin jetzt ne ganze Weile dabei mich mit dem Zeugs zu marten, hab dazu dieses Beispiel genommen.
http://entwickler-forum.de/archive/i...p/t-70135.html
Ob ich von Usercontrol ableite oder von Textbox muss doch egal sein, Event ist Event, wenn es das Paint-Event nicht gäbe, könnt ich es doch nicht deklarieren, oder was weiss ich hier nicht?
Code:
public class MyTextBox : TextBox { bool down = false; //private TextBox textbox = new TextBox(); private Color _borderColor; private Color _BackColor; public MyTextBox() { this.Paint += new PaintEventHandler(this.OnPaint); this.Resize += new EventHandler(this.OnResize); this.Height += 200; this.Width += 2; //this.Location = new Point(20, 55); this.BorderColor = System.Drawing.SystemColors.Window; this.BackColor = Color.White; //this.Controls.Add(this); //this.textbox.Click += new EventHandler(this.OnClick); this.KeyPress += TextBoxKeyPress; } public override Color BackColor { get { return this._BackColor; } set { this._BackColor = value; } } public Color BorderColor { get { return this._borderColor; } set { this._borderColor = value; this.Refresh(); } } protected virtual void OnResize(object sender, EventArgs e) { this.Size = new Size(this.Width, this.Height); this.Location = new Point(1, 1); } protected virtual void OnPaint(object sender, PaintEventArgs e) { ControlPaint.DrawBorder(e.Graphics, this.ClientRectangle, _borderColor, ButtonBorderStyle.Solid); //ControlPaint.DrawBorder(e.Graphics, this.ClientRectangle, ((MyTextBox)sender)._BackColor, ButtonBorderStyle.Solid); } protected virtual void TextBoxKeyPress(object sender, KeyPressEventArgs e) { /*nop*/ } protected override void OnKeyDown(KeyEventArgs e) { if (!down) base.OnKeyDown(e); else e.SuppressKeyPress = true; down = true; } protected override void OnKeyUp(KeyEventArgs e) { base.OnKeyUp(e); down = false; } }
Comment