Propojení button_click a button_paint – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Propojení button_click a button_paint – .NET – Fórum – Programujte.comPropojení button_click a button_paint – .NET – Fórum – Programujte.com

 

antybart0
Návštěvník
21. 8. 2012   #1
-
0
-

Zdravím mám problém ohledně dvou metod - click a paint. Když kliknu na tlačítko tak chci nechat nakreslit obrázek(z properties.resources) ale metoda click událost paint nemá. Takže jsem udělal dvě tlačítko_paint a tlačítko_click. Paint - obshajue DrawImage a pak v Click chci tu metodu paint zavolat, ale chcce to mě parametry object a sender, které nevím kde vzít. Dá se to takhle vubec realizovat?

Nahlásit jako SPAM
IP: 217.29.8.–
VladislavK0
Super člen
21. 8. 2012   #2
-
0
-

No to je trochu nejaky zmateny - kam chces vykreslovat ten obrazek - ???? do canvsu tlacitka ????

popis ten problem lepe

Nahlásit jako SPAM
IP: 89.24.89.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
ingiraxo+15
Grafoman
21. 8. 2012   #3
-
0
-

však to je jednoduchý...

1) musíš někde zjišťovat, zda si na tlačítko kliknul

2) vždy když klikneš na tlačítko, tak musíš zavolat překreslení

3) paint bude vykreslovat obrazek pouze, kdyz si kliknul na tlačítko (jen v režimu ON)

PS: predpokladam, že kreslíš na form

PPS: a ještě si nenapsal, jestli se má obrázek nakreslit pouze při kliknutí, nebo jestli má mít tlačítko 2 řežimy (on/off)

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
antybart0
Návštěvník
21. 8. 2012   #4
-
0
-

#2 VladislavK
obrázek chci vykrestlit do panelu, v momentě kdy uživatel klikne na tlačítko

Nahlásit jako SPAM
IP: 217.29.8.–
ingiraxo+15
Grafoman
21. 8. 2012   #5
-
0
-

 hm?

    public partial class Form1 : Form
    {
        private bool clicked = false;

        public Form1()
        {
            InitializeComponent();
        }

        private void ClickPaintImage(object sender, EventArgs e)
        {
            clicked = true; // pripadne... clicked = !clicked;
            Refresh();
        }

        private void OnPaint(object sender, PaintEventArgs e)
        {
            if (clicked)
                e.Graphics.DrawImage(Resources.IMAGE, Point.Empty);
        }
    }
Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
VladislavK0
Super člen
21. 8. 2012   #6
-
0
-

No tak to je jednoduchy

prtected void tlacitko_click(object sender,EventArgs args)
{
	using(Graphics g=this.panel.getGraphics()){
	g.drawPicture(.....

	}

}

Psal jsem to z hlavy takze se podivej jak ti inselince doplni spravne nazvy metod

Nahlásit jako SPAM
IP: 89.24.89.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
VladislavK0
Super člen
21. 8. 2012   #7
-
0
-

Pomoci Onpaint bych to nektreslil ta meto da se zavola vzdy pri nejake akci nad formularem (zmena rozmeru zmena pozice) a da se predpokladat ze se ti tam vrati defaultni obrazek a nebo se ten nakresleny nejakym zpusobem poondi

Nahlásit jako SPAM
IP: 89.24.89.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
ingiraxo+15
Grafoman
21. 8. 2012   #8
-
0
-

udělěj to, jak jsem psal ja.. to jak psal VladislavK nedělej...

snad žádná komponenty nená getGraphics(), ale CreateGraphics(), což znamená, že  to sice vytvoří, ale po překreslení všechno zmizí (např. minimalizace apod.), ale pokud by jsi to z nějakého důvodu chtěl takto, tak jen opravenej kód od vladislava... 

        private void ClickPaintImage(object sender, EventArgs e)
        {
            using (Graphics g = panel.CreateGraphics())
            {
                g.Clear(panel.BackColor);
                g.DrawImage(Resources.IMAGE, Point.Empty);
            }
        }

ale jak říkám.. pro veškeré kreslení používej pouze klasickou událost Paint a přes ní získej grafiku

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
VladislavK0
Super člen
21. 8. 2012   #9
-
0
-

Jakej je rozdil mezi 

private void ClickPaintImage(object sender, EventArgs e)

a

prtected void tlacitko_click(object sender,EventArgs args)

ja myslim ze se jedna o stejny handler tlacitka reagujici na klik

jinak mas pravdu neni tam GetGraphics ale CreateGraphics (g.drawPicture - g.drawImage ) ---> psal jsem to z hlavy

ale jinak jse jedna o uplne stejny kod takze vcem je rozdil ???

Nahlásit jako SPAM
IP: 89.24.89.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
antybart0
Návštěvník
21. 8. 2012   #10
-
0
-

díky, už to mám 

Nahlásit jako SPAM
IP: 217.29.8.–
ingiraxo+15
Grafoman
21. 8. 2012   #11
-
0
-

#9 VladislavK
pokud pominu špatně napsané funkce v tvém kódu, tak jsou funkce krom modifikátoru totožné, ale z pravidla doporučuji uvádět všude private pokud nepotřebuješ jinak

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 17 hostů

Podobná vlákna

C++ propojeni — založil

Propojeni — založil caleb

Propojení DB — založil Pajin

Propojeni — založil caleb

Propojení formulářů — založil razzo7335

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý