C# - zaklady
Zdravim ... zas potrebujem poradit ... ked chcem urobit nieco ako Wizard a potrebujem si posielat hodnoty premennych medzi formularmi tak ako mam urobit to, aby som nemusel posielat hodnoty iba medzi tesne po sebe nasledujucimi formami ale aby toukladalo do nejakeho zasobnika, ktory by eistoval kym bezi program a dali sa do neho zapisovat a citat z neho hodnoty? Dikes
Napriklad takto:rackom napísal:Zas mam jeden maly dotaz ... ako mam nakreslit obdlznik? uplen jednoduchy priklad. Dakujem ...
Kód: Vybrať všetko
using System.Drawing;
...
private void Nakresliť(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
Pen pero = new Pen(Color.BlueViolet);
pero.Width = (int)this.hrúbkaPera.Value; // NumericUpDown
g.DrawEllipse(pero, vertikálne, horizontálne, šírka, výška); // float vertikálne, horizontálne, šírka, výška
}
No vyzera to rozumnejsie ako to co som "splodil" ja ale ked ten void chcem pouzit po kliku na tlacidlo tak urobim toto:bart11 napísal: no, dufam, ze som na nic nezabudol (samozrejme uvod som vynechal)
Kód: Vybrať všetko
private void button1_Click(object sender, EventArgs e)
{
Nakresliť();
}
vedel som, ze som na nieco zabudol:
inak nepise ti nahodou:
No overload for method 'Nakresliť' takes '0' arguments
Ten predosly priklad bol na triedu Panel.
Skus toto, vytvori ti to priamo na Formulari:
Tento kod vloz do toho button1_Click
lenze je tu maly problem s prekreslovanim (ked okno minimalizujes a znova obnovis, kresba tam nebude). Mal by si s tym prekryt metodu OnPaint(...)
Kód: Vybrať všetko
Panel panel1;
this.panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.Nakresliť);No overload for method 'Nakresliť' takes '0' arguments
Ten predosly priklad bol na triedu Panel.
Skus toto, vytvori ti to priamo na Formulari:
Kód: Vybrať všetko
Graphics df = this.CreateGraphics();
this.Show();
Pen modré = new Pen(Color.Blue, 3);
df.DrawRectangle(modré, 0, 0, 50, 50);
lenze je tu maly problem s prekreslovanim (ked okno minimalizujes a znova obnovis, kresba tam nebude). Mal by si s tym prekryt metodu OnPaint(...)
Napriklad takto:
EDIT:
Ak xes zmazat vsetko co si tam nakreslil, tak pouzi tuto predoslu funkciu, ale
ak tam mas viac kresieb a xes zmazat len tu jednu, tak by si si mal spravit zoznam nakreslenych suradnic a potom nejaku funkciu, ktora ... No, nad tym sa mi momentlane nexe premyslat.
Ale predpokladam, ze si myslel ten prvy sposob, ze?
Kód: Vybrať všetko
Graphics df = this.CreateGraphics();
df.Clear(Color.White); // napriklad to prekreslis bielou farbou
Ak xes zmazat vsetko co si tam nakreslil, tak pouzi tuto predoslu funkciu, ale
ak tam mas viac kresieb a xes zmazat len tu jednu, tak by si si mal spravit zoznam nakreslenych suradnic a potom nejaku funkciu, ktora ... No, nad tym sa mi momentlane nexe premyslat.
Ale predpokladam, ze si myslel ten prvy sposob, ze?
-
mastermind
VIP
- Príspevky: 4810
- Registrovaný: 09 feb 2005, 13:17