Autor Beitrag
Chiyoko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 298
Erhaltene Danke: 8

Win 98, Win Xp, Win 10
C# / C (VS 2019)
BeitragVerfasst: So 22.05.11 13:02 
Huhu,

die exestiernden Threads ueber die Find Methode oder Iretation durch Controls
funktioniert nicht, Controls werden zwar gefunden, allerdings scheinbar
immer nur der Type des Controls, in meinem fall eine Textbox.

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
        // Entweder so....
        private void txtbox_enter(object sender, EventArgs e)
        {
            // hole alle Controls mit passendem Namen
            Control[] c = this.pan_3dgstut.Controls.Find("Script_1_1",false);
            for (int i = 0; i < c.Length; i++)
            {
                if (c[i] is RichTextBox && c != null && c.length != 0)
                {
                    if (DE)
                        toolStripStatusLabel2.Text = "...";
                    if (ENG)
                        toolStripStatusLabel2.Text = "...";
                }
            }
        }



        // oder so
        private Control FindControl(Control container, string name)
        {
            if (container.Name == name) return container;
            foreach (Control ctrl in container.Controls)
            {
                Control foundCtrl = FindControl(ctrl, name);
                if (foundCtrl != nullreturn foundCtrl;
            }
            return null;
        }
        private void txtbox_enter(object sender, EventArgs e)
        {
            Control c = FindControl(pan_3dgstut, "Script_1_1");

            if (c is RichTextBox)
            {
                if (DE)
                    toolStripStatusLabel2.Text = "...";
                if (ENG)
                    toolStripStatusLabel2.Text = "...";
            }         
        }


Ich hab auch ohne Find getestet, ich bekomme immer das selbe Ergebnis,
so dass beim Eintritt der Maus ins Control scheinbar der Name ignoriert wird.
Alle Namen sind unterschiedlich.

Wo könnte der Fehler liegen?


EDIT: Mir faellt gerade noch das Problem der Events ein.
Ich versuch das mal per sender oder per Event aufzuspalten.

Nein, geht auch nicht.Am besten waere es mit Find und einer Methode
fuer alle Boxen.

EDIT: Problem gelöst mit unterschiedlichen Events(ohne Abfrage der Controls...)
Komisch finde ich nur, dass das vorher nicht ging, wenn ich rausfinde, warum
poste ich es hier.