Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von dennisspohr
Thema: Auf sämtliche Komponenten der Form zugreifen
Am im Forum: GUI: Windows-Forms

Hallo,


PropertyInfo[] propertyInfos = root.GetType().GetProperties();

if (propertyInfos != null)
{
    foreach (PropertyInfo propertyInfo in propertyInfos)
    {
        if (propertyInfo.Name.ToLower() == "headertext")
        {
            propertyInfo.SetValue(root, "fdsgufghufigh", null);
        }
    }
}

mit "text" funktioniert es bei den Buttons, allerdings nicht mit "headertext" bei den Columns des DataGridViews...

Gruß Dennis

Thema: Auf sämtliche Komponenten der Form zugreifen
Am im Forum: GUI: Windows-Forms

Hallo ihr beiden,

erstmal vielen Dank für eure Antworten!

Ich habe es folgendermaßen versucht:


            foreach (object control in (root as Control).Controls)
            {
                SetTextForAllControls(control);
            }

            PropertyInfo propertyInfo = root.GetType().GetProperty("Text");

            if (propertyInfo != null)
            {
                propertyInfo.SetValue(root, "fdsgufghufigh", null);
            }

Es funktioniert soweit

Ein kleine Frage noch:
Wenn ich nun den "HeaderText" eines DataGridViewColumns ändern möchte, wird es problematisch, da ich ja nur das DataGridView an sich erhalte. Dieses hat das Propertie "HeaderText" logischerweise nicht.
Gibt es eine Möglichkeit, an ALLE Properties des Controls zu kommen?

Gruß Dennis

Thema: Auf sämtliche Komponenten der Form zugreifen
Am im Forum: GUI: Windows-Forms

Hallo,

abschweifend nochmal meine Frage:

Zitat
Gibt es eigentlich die Möglichekt, bei einem Object schon zu überprüfen, ob es ein Propertie namens "HeaderText" enthält? Oder geht das zu weit in den Code hinein?
Weil das wäre natürlich genial.. ich könnte alles viel automatisierter machen.

Ich möchte mir ein kleines Lokalisierungs-Tool schreiben.
Am besten wäre es, wenn ich automatisiert überprüfen könnte, ob ein Object (was z.B. ein Button, DataGridViewColumn, etc) ein Propertie wie z.B. "Text", "HeaderText", Description" enthält.
Ist so etwas möglich? Vielleicht per Reflection?

Danke für eure Hilfe!

Gruß Dennis

Thema: Auf sämtliche Komponenten der Form zugreifen
Am im Forum: GUI: Windows-Forms

Hallo GMLOD,

das werde ich tun.
Vielen Dank für deine Hilfe!

Gruß Dennis

Thema: Auf sämtliche Komponenten der Form zugreifen
Am im Forum: GUI: Windows-Forms

Hallo GMLOD,

sorry - mein Fehler.

Ich benutze ja das Krypton-ToolKit.. das heißt ich muss auf "KryptonDataGridView" abfragen. Nun funktionert es.

Gibt es eigentlich die Möglichekt, bei einem Object schon zu überprüfen, ob es ein Propertie namens "HeaderText" enthält? Oder geht das zu weit in den Code hinein?
Weil das wäre natürlich genial.. ich könnte alles viel automatisierter machen.

Gruß Dennis

Thema: Auf sämtliche Komponenten der Form zugreifen
Am im Forum: GUI: Windows-Forms

Hallo GMLOD,

(root.GetType() == typeof(DataGridView)
trifft niemals zu.


        private void SetTextForAllControls(object root)
        {
            Control root2 = (Control)root;

            foreach (object control in root2.Controls)
            {
                SetTextForAllControls(control);
            }

            if (root.GetType() == typeof(DataGridView))
            {
                DataGridView dataGridView = (DataGridView)root;

                foreach (DataGridViewColumn column in dataGridView.Columns)
                {
                    column.HeaderText = "sdffg";
                }
            }

            root2.Text = LG(root2.Text); // "sdffg";// LG(root2.Text);
        }

Gruß Dennis

Thema: Auf sämtliche Komponenten der Form zugreifen
Am im Forum: GUI: Windows-Forms

Hallo GMLOD,

stimmt - klingt zumindestens um einiges logischer.

Allerdings funktioniert es nicht

 
        if (root.GetType() == typeof(DataGridView))
        {
            DataGridView dataGridView = (DataGridView)root;
            foreach (DataGridViewColumn column in dataGridView.Columns)
            {
                column.HeaderText = "sdffg";
            }
        }

Gruß Dennis

Thema: Auf sämtliche Komponenten der Form zugreifen
Am im Forum: GUI: Windows-Forms

Hallo GMLOD,

ich denke ich werde es mit einem Switch machen, mir bleibt vorläufig wohl nicht viel mehr übrig.
Ich hoffe, dass ich alle Typen soweit abgedeckt bekomme und es nicht zu viele sind.


       if (root.GetType() == typeof(DataGridViewColumn))
       {
           DataGridViewColumn dataGridViewColumn = (DataGridViewColumn)root;
           dataGridViewColumn.HeaderText = "sdffg";
       }

root ist bei mir ein object. "In Wirklichkeit" natürlich ein Control. Allerdings lässt es sich nicht in ein DataGridViewColumn umwandeln.

Gruß Dennis

Thema: Auf sämtliche Komponenten der Form zugreifen
Am im Forum: GUI: Windows-Forms

Hallo GMLOD,

Zitat
Du musst rekursiv da durchsteigen

Das habe ich gerade herausbekommen

Nun bekomme ich alle Buttons etc umbenannt.

Doch wie mache ich das z.B. mit dem HeaderText bei Columns?
Wenn ich ein Control erzeuge,

Control control = new Control();
enthält dieses Control das Propertie "Text", aber nicht "HeaderText". Wie könnte ich auf so etwas zugreifen?

Mal als Hintergrund: Ich möchte mir ein kleines Lokalisierungstool schreiben.

Gruß Dennis

Thema: Auf sämtliche Komponenten der Form zugreifen
Am im Forum: GUI: Windows-Forms

Hallo GMLOD,

ich bin auch zuallererst auf Controls gestoßen, allerdings ändert sich seltsamerweise immer nur ein einzige Button.

Gruß Dennis

Thema: Auf sämtliche Komponenten der Form zugreifen
Am im Forum: GUI: Windows-Forms

Hallo,

wie kann ich auf sämtliche Komponenten der Form zugreifen? Zum Beispiel möchte ich die Texte aller Komponenten bearbeiten können.
Ist so etwas möglich?


Form.Container.Components
...ist bei mir immer null.

Danke für eure Hilfe!

Gruß Dennis

Thema: Google Chrome Browser
Am im Forum: Smalltalk

Hallo JunkyXL,

also bei mir gibt es einen großes Link.. Oben rechts. Wie sieht die Seite denn bei dir aus?

Gruß Dennis

Thema: Wie lange arbeitet ihr den (pro Tag oder pro Woche)?
Am im Forum: Smalltalk

Ich arbeite meist ziemlich genau 40 Stunden. Normalerweise maximal eine Stunde weniger oder mehr.

Gruß Dennis

Thema: Google Chrome Browser
Am im Forum: Smalltalk

Hallo Jelly,

also bei mir wird deine Seite komplett richtig angezeigt.

Gruß Dennis

Thema: Raucht ihr? [Rauchen, Trinken, Ernährung, Sport]
Am im Forum: Smalltalk

Rauchen: Niemals.
Trinken: Selten
Sport: Was ist das? :-)

Gruß Dennis

Thema: Fotos vom Community-Treffen 2008
Am im Forum: Ankündigungen

Hallo,

nach den Fotos bedauere ich noch mehr, dass ich nicht kommen konnte - sieht nach einem Tag mit sehr viel Spaß aus :-)
Hoffentlich das nächste Mal!

Gruß Dennis

Thema: Mit welcher Programmiersprache habt ihr angefangen?
Am im Forum: Smalltalk

Hallo,

ich habe mich mit schätzungsweise (ich müsste mal genau nachschauen...) 12 oder 13 Jahren angefangen, für die Programmierung zu fastzinieren.
Damals begann ich ich mit Delphi. Der Grund dafür ein sehr guter Freund, der damals "Delphi 4 Kids" geschenkt bekommen hatte. Er zeigte mir das Buch - sofort kaufe ich's mir auch :-)
Danach machte ich parallel noch PHP und nun seit einem jahr c#, auf Grund meiner Ausbildung. Delphi programmiere ich (bis auf in der Berufsschule) gar nicht mehr.

Gruß Dennis

Thema: Bei laufendem Konsolenprogramm Befehle senden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

vielen Dank euch beiden, damit komme ich erstmal weiter :-)

Gruß Dennis

Thema: Bei laufendem Konsolenprogramm Befehle senden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo herbivore,

Was ist, wenn in der Kommandozeile folgende Frage kommt:
"Do want to exit?"
Dann müsste ich ja ein "y" oder ein "n" senden. Das meine ich.

Hallo 0815Coder,

Wie könnte ich denn Strg+C an eine fremde Anwendung schicken?

Gruß Dennis

Thema: Bei laufendem Konsolenprogramm Befehle senden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo @ all,

das Thema sagt es eigentlich schon:
Ich habe eine fremde Batchfile. Dieser möchte ich nun, während sie läuft, "-cancel" senden. Wie geht das?

Danke für eure Hilfe.

Gruß Dennis

Thema: USB Ansteckung erfassen...
Am im Forum: Rund um die Programmierung

Hallo Atomroflman,

schau dir das mal an:
http://www.codeproject.com/KB/system/DriveDetector.aspx

Gruß Dennis

Thema: Brenner ausfindig machen
Am im Forum: Rund um die Programmierung

Hallo Khalid,

das ist ja interessant... und unheimlich praktisch..

Gibt es denn noch andere Möglichkeiten (außer IMAPI2), an die Brenner heranzukommen?

Gruß Dennis

Thema: Brenner ausfindig machen
Am im Forum: Rund um die Programmierung

Hallo Khalid,

ich benutze hier meinen Firmenlabtop.
Es werde es mal zu Hause testen. Trotzdem sollte es hier auch funktionieren

Wisst ihr etwas über "CapabilityDescriptions"?
Denn an dieses Item komme ich gar nicht erst ran, es kommt immer null zurück:


string[] array = (string[])item["CapabilityDescriptions"];

Gruß Dennis

Thema: Brenner ausfindig machen
Am im Forum: Rund um die Programmierung

Doch - da bin ich mir ziemlich sicher^^

Thema: Brenner ausfindig machen
Am im Forum: Rund um die Programmierung

Hallo Khalid,

"Capabilities" funktioniert leider auch nicht.

Bei allen 4 Laufwerken kommt 3 und 7 raus:
- 3: Random Access
- 7: Supports Removable Media

Allerdings nicht die Nr 4: "Supports Writing".

Gruß Dennis

Thema: Brenner ausfindig machen
Am im Forum: Rund um die Programmierung

Hallo GMLOD,

ich benutze XP.
Trotzdem sollte dann ja ein "Supports Writing" erscheinen.

Hallo Khalid,
vielen Dank für den Hinweis, ich werde es mal ausprobieren.

Gruß Dennis

Thema: Brenner ausfindig machen
Am im Forum: Rund um die Programmierung

Hallo @ all,

ich versuche mit folgendem Code den Ort meines Brenner herauszufinden:


ManagementScope managementScope = new ManagementScope(ManagementPath.DefaultPath);
SelectQuery selectQuery = new SelectQuery("SELECT * FROM Win32_CDROMDrive");
ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher(managementScope, selectQuery);

foreach (ManagementObject item in managementObjectSearcher.Get())
{
    Console.WriteLine(string.Format("{0} - {1}", item["Drive"], item["MediaType"]));
}

"MediaType" ist in der msdn folgendermaßen beschrieben:
Zitat
MediaType
Data type: string
Access type: Read-only

Type of media that can be used or accessed by this device. Possible values are:

CdRomOnly
CdRomWrite
DVDRomOnly
DVDRomWrite

Windows Server 2003, Windows XP, Windows 2000, and Windows NT 4.0: Possible values are:

Random Access
Supports Writing
Removable Media
CD-ROM

Ich bekommen in der Console leider nur foldenges ausgegeben:
Zitat
E: - CD-ROM
F: - CD-ROM
G: - CD-ROM
I: - CD-ROM

Wisst ihr, was ich falsch mache oder habt ihr irgendeinen Tipp?
Danke!

Gruß Dennis

Thema: Posted eure letzte Zwischenablage!
Am im Forum: Smalltalk


private void buttonReset_Click(object sender, EventArgs e)
{
    data.All = 0;
    data.Today = 0;
    RefreshValues();
}

Gruß Dennis

Thema: XML-Edit
Am im Forum: Projekte

Allerdings finde ich so etwas auch sehr wichtig...


<Root>
  <Tab1>
    <Name>
       <Name1>blubb</Name1>
       <Name2>bsdslubb</Name2>
       <Name3>blubffffdfdfdfb</Name3>
    </Name>
    <Text>Bla</Text>
    <Nerf>...</Nerf>
  </Tab1>
</Root>

Gruß Dennis

Thema: Strg-C kopiert MessageBox-Inhalt
Am im Forum: Smalltalk

genial.. danke!

Gruß Dennis