seltsames Problem mit Dialog Boxen

exiter28

Erfahrenes Mitglied
Hallo Jungs,

ich hab da ein kleines seltsames Problem mit DialogBoxen.
Beispiel mit ColorDialog Boxen...

Das komische ist, wenn ich die Box mit OK bestätige, kann es sein,
daß sich die Box gleich wieder öffnet...

Code:
            ColorDialog cD = new ColorDialog();
            if (cD.ShowDialog() != DialogResult.Cancel)
            {
                // Code ...
            }

mach ich da was falsch? muss ich evtl. noch mit else was setzen?

Danke schon mal!!
 
in dem Fall wird folgender Code ausgeführt:

Code:
string FarbeStr = null;
System.Drawing.ColorConverter concolor = new System.Drawing.ColorConverter();
System.Drawing.Color farbe = cD.Color;
FarbeStr = concolor.ConvertToString(farbe);
IniClass.arraybg[arrayPos] = FarbeStr;


danke!
 
Hallo,

und das passiert tatsächlich nur bei 'Ok'? In welchem Kontext ruftst du den Dialog auf (Klick auf Button, aus Menü, ...)? Evtl. zeigst du du mal die gesamte Methode, in der der Dialog aufgerufen wird.
Der gepostetete Code sollte jedenfalls keinen erneuten Start des Dialogs bewirken.

Gruß
MCoder
 
Hi,

also der ges. Code sieht so aus:

Code:
            ColorDialog cD = new ColorDialog();
            ListBox LB = new ListBox();
            if (cD.ShowDialog() != DialogResult.Cancel)
            {
                IniClass.arraybg = IniClass.FileToArray(IniClass.inifile);
                string FarbeStr = null;                
                System.Drawing.ColorConverter concolor = new System.Drawing.ColorConverter();               
                System.Drawing.Color farbe = cD.Color;                
                FarbeStr = concolor.ConvertToString(farbe);                
                IniClass.arraybg[arrayPos] = FarbeStr;                
                for (int i = 0; i <= IniClass.arraybg.Length - 1; i++)
                {
                    LB.Items.Add(IniClass.arraybg[i]);
                }
                IniClass.fillarray();
                // Aufruf "fillarray"
            }

der Code wird mit einem Click-Ereignis eines Buttons aufgerufen. Das Problem tritt auch
beim abbruch auf...
 
Hi

Man mal im EventHandler des ButtonClick (vor ColorDialog cD = new ColorDialog(); ) eine Debugausgabe (Debug.Trace()) und schau im Output-Fenster von Visual Studio wie oft die Ausgabe erfolgt.
 
Zurück