NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Doupak
Člen
Avatar
Doupak:16.9.2013 17:57

Zdravím,

potřeboval bych udělat vlastní ovádací prvek. Ve win forms je to System.Forms.Con­trol. V tom problém není. Ani v návrhu není problém. Mám pouze problém v tom, že jsem limitován "ClientRectangle". Potřeboval bych prvek, který právě není obdelník. Například kruh nebo čára, která se různě lomí. Potřebuji však eventy právě z Control. Jako je např.:

public event MouseEventHandler MouseClick
public event EventHandler MouseEnter
public event EventHandler MouseLeave

Když udělám (metoda z vlastního ovládacího prvku)

protected override void OnPaint(PaintEventArgs e)
{
    Graphics g = e.Graphics;
    Rectangle rec = ClientRectangle;
    g.DrawEllipse(new Pen(Color.Blue, 7), rec);
    g.FillEllipse(new SolidBrush(Color.Red), rec);
    base.OnPaint(e);
}

Tak se mi sice vykreslí kruh, ale události se odchytávají i mimo něj. Právě v tom místě, kde není kruj, ale kde je stále ClientRectangle.

Možná na to jdu úplně špatně. Budu vděčný za jakékoliv nápady.

Radši mám Windows Forms, protože s tím mám větší zkušenosti. Ale nebudu se bránit ani WPF.

Editováno 16.9.2013 17:59
 
Odpovědět
16.9.2013 17:57
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.