Moinsen zusammen.
Ich hab da ein kleines Problem. Nämlich stürzt ständig mein VS2010 ab, wenn ich mein eigenes Control hinzufüge. Dabei handelt es sich um einen Button. Ich kann mir nicht erklären, wieso es nicht geht! Hier mal der Code von meinem Button:
Weiß einer von euch Rat. Mach ich irgendwas falsch?
Gruß, Marin
Ich hab da ein kleines Problem. Nämlich stürzt ständig mein VS2010 ab, wenn ich mein eigenes Control hinzufüge. Dabei handelt es sich um einen Button. Ich kann mir nicht erklären, wieso es nicht geht! Hier mal der Code von meinem Button:
C-Quellcode
- using System;
- using System.Drawing;
- using System.Drawing.Drawing2D;
- using System.Runtime.InteropServices;
- using System.Windows.Forms;
- namespace Projekt.Controls
- {
- class ButtonExx : Button
- {
- bool hover = false;
- bool pressed = false;
- public ButtonExx()
- {
- this.Text = "ButtonExx";
- }
- public string SubText
- {
- set
- {
- this.SubText = value;
- }
- get
- {
- return this.SubText;
- }
- }
- protected override void OnPaint(PaintEventArgs e)
- {
- Graphics g = e.Graphics;
- Rectangle rec = new Rectangle(0, 0, this.Width, this.Height);
- Rectangle leftrec = new Rectangle(1, 1, 50, this.Height - 2);
- Rectangle rightrec = new Rectangle(52, 1, this.Width - 50, this.Height - 2);
- Font TopTextFont = new Font(this.Font.Name, this.Font.Size);
- SizeF Length = g.MeasureString(this.Text, TopTextFont);
- Point TopTextPoi = new Point(62, Convert.ToInt32(this.Height / 2 - TopTextFont.Size));
- Font SubTextFont = new Font(this.Font.Name, this.Font.Size - 4);
- SizeF SubLength = g.MeasureString(this.Text, SubTextFont);
- Point SubTextPoi = new Point(62, Convert.ToInt32(this.Height / 2 + 4));
- LinearGradientBrush background = new LinearGradientBrush(new Point(0, 0), new Point(0, this.Height), Color.FromArgb(145, 149, 161), Color.FromArgb(105, 113, 116));
- LinearGradientBrush linear = new LinearGradientBrush(new Point(0, 0), new Point(0, this.Height), Color.FromArgb(254, 250, 230), Color.FromArgb(254, 252, 233));
- g.FillRectangle(background, rec);
- g.FillRectangle(linear, leftrec);
- g.FillRectangle(linear, rightrec);
- g.DrawString(this.Text, TopTextFont, new SolidBrush(Color.FromArgb(30, 30, 30)), TopTextPoi);
- }
- }
- }
Weiß einer von euch Rat. Mach ich irgendwas falsch?
Gruß, Marin