Zjednodušení kodu – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Zjednodušení kodu – .NET – Fórum – Programujte.comZjednodušení kodu – .NET – Fórum – Programujte.com

 

marpit0
Stálý člen
23. 7. 2009   #1
-
0
-

Mohl by mi někdo prosím poradit, jak zjednodušit tento kod?

private void data1_SelectedIndexChanged(object sender, EventArgs e)

{
int[] hodnoty1 = new int[2] { 1, 2 };
data_1 = hodnoty1[prouzek1.SelectedIndex];

if (data_1 == 1)
prouzek1.BackColor = System.Drawing.Color.Peru;
if (data_1 == 2)
prouzek1.BackColor = System.Drawing.Color.Orange;
}

Nahlásit jako SPAM
IP: 89.176.76.–
MarPit
Miro17010
Stálý člen
23. 7. 2009   #2
-
0
-

Byt tebou tak si vytvorim vlastny prvok ktory do toho das, a bude obsahovat Color color, ktory potom dostanes po zmeneni objektu

prouzek1.BackColor = prvok.color;
Lenze ja som skusal neco s GTK, a ne WinForms cize ti neviem presne napisat kod

Edit: Vyhoda je ze ked si das zoradit, ... tak dostanes to co chces a ne podla poradia

Nahlásit jako SPAM
IP: 85.159.104.–
začinajúci programátor v .Net: C# & OpenTK: OpenGL( pouzivam ), OpenAL( zatial nepouzivam ), OpenCL( este som neskusal )
yterbium0
Stálý člen
23. 7. 2009   #3
-
0
-

ja to robievam cez switch

private void data1_SelectedIndexChanged(object sender, EventArgs e)


{
switch (data1.Text)
{
case "prvyRiadok":
....
break;
case "druhyriadok"
...
break;



}

Nahlásit jako SPAM
IP: 91.127.99.–
NOclipus0
Newbie
23. 7. 2009   #4
-
0
-

To marpit :

Napadá mě drobné zjednodušení, ale fungovalo by, jenom pokud máš v poli hodnoty 2 členy:



private void data1_SelectedIndexChanged(object sender, EventArgs e)
{
data_1 = prouzek1.SelectedIndex + 1 //z toho mála, co víme o tvém kódu by toto mělo fungovat
prouzek1.BackColor = data_1 == 1 ? System.Drawing.Color.Peru : System.Drawing.Color.Orange
//ať žije ternární operátor!
}

Nahlásit jako SPAM
IP: 88.103.97.–
noname
~ Anonymní uživatel
15 příspěvků
23. 7. 2009   #5
-
0
-

Co je to za objekt - ten prouzek1?

Nahlásit jako SPAM
IP: 62.141.0.–
NOclipus0
Newbie
23. 7. 2009   #6
-
0
-

To noname : Má to SelectedIndex a BackColor - že by DropDownList?

Nahlásit jako SPAM
IP: 88.103.97.–
marpit0
Stálý člen
23. 7. 2009   #7
-
0
-

Miro1701 mě navedl na správnou cestu, kod potom vypadá takto:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{
Color[] color = new Color[3] { System.Drawing.Color.RosyBrown, System.Drawing.Color.Red, System.Drawing.Color.Pink};
comboBox1.BackColor = color[comboBox1.SelectedIndex];
}

Nahlásit jako SPAM
IP: 89.176.76.–
MarPit
Miro17010
Stálý člen
23. 7. 2009   #8
-
0
-

To marpit :

Aj tak je tu jedna chyba, neviem ci sa to da cez WinForms, ale v gtk to je:

public class ArticleNode : Gtk.TreeNode 

{
public ArticleNode(int id, string name)
{
this.ArticleID = id;
this.Name = name;
}

public int ArticleID;

[Gtk.TreeNodeValue (Column=0)]
public string Name;
}

...
Gtk.NodeStore store = new Gtk.NodeStore(typeof (ArticleNode));
...
store.AddNode(new ArticleNode(id,name));
...
store.Clear();
...
int id = ((ArticleNode)store.GetNode(args.Path)).ArticleID;
string name = ((ArticleNode)store.GetNode(args.Path)).Name;
to su len vyseky mojho kodu

Lebo ja si potom mozem dat zoradit podla nazvu a tym padom aj ked vyberies to co bolo na x, tak vlastne dostanes to co bolo na y.

Nahlásit jako SPAM
IP: 85.159.104.–
začinajúci programátor v .Net: C# & OpenTK: OpenGL( pouzivam ), OpenAL( zatial nepouzivam ), OpenCL( este som neskusal )
Miro17010
Stálý člen
23. 7. 2009   #9
-
0
-

v tvojom pripade by si tam nemal ArticleID, ale color, inac to name v mojom sluzi ako nazov riadku

Nahlásit jako SPAM
IP: 85.159.104.–
začinajúci programátor v .Net: C# & OpenTK: OpenGL( pouzivam ), OpenAL( zatial nepouzivam ), OpenCL( este som neskusal )
marpit0
Stálý člen
5. 8. 2009   #10
-
0
-

Jo díky

Nahlásit jako SPAM
IP: 78.102.211.–
MarPit
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, 5 hostů

Podobná vlákna

Zjednoduseni kodu — založil Mutagen

Zjednodušení kódu — založil Sergei

Zjednodušení kodu — založil Empty

Zjednodušení kódu — založil sXe

 

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