Entwickler-Ecke
Sonstiges (.NET) - Status einer CheckBox ermitteln
Joey86 - Mi 17.03.10 16:10
Titel: Status einer CheckBox ermitteln
Hi!
Ich würde gern mittels eines Button abfragen können, welchen Status derzeit meine ComboBox besitzt.
Code meines Buttons und des EventHandlers:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| public void StartUpButton() { comboBox = this.commandBar.Controls.Add(Office.MsoControlType.msoControlComboBox, missing, missing, missing, true) as Office.CommandBarComboBox;
comboBox.AddItem("ComboBoxItem1", 1); comboBox.AddItem("ComboBoxItem2", 2);
comboBox.Caption = "ComboBox";
comboBox.Tag = "myComboBox"; comboBox.Change += new Microsoft.Office.Core._CommandBarComboBoxEvents_ChangeEventHandler(ComboBox_Change); }
static void ComboBox_Change(Microsoft.Office.Core.CommandBarComboBox ctrl) { MessageBox.Show("Changed " + ctrl.Text); } |
Wie bekomme ich jetzt aber durch einen Button heraus, ob gerade Item 1, 2 oder gar keines selektiert ist?
Gruß
Moderiert von
Kha: Topic aus Algorithmen, Optimierung und Assembler verschoben am Mi 17.03.2010 um 19:00
Xearox - Mi 17.03.10 16:31
also in Delphi würde ich das so machen
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| if Checkbox1.Checked then ShowMessage('Checkbox1 ist aktiviert'); if Checkbox2.Checked then Showmessage('Checkbox2 ist aktiviert'); if not Checkbox1.Checked and Checkbox2.Checked then Showmessage('Keine Checkbox ist Aktiviert'); |
also wäre jetzt das erste, was mir dazu einfällt.
Ich kenne mich nicht mit C# aus, aber ich denke, das es so ähnlich sein müsste.
JüTho - Mi 17.03.10 17:10
@Xearox
In C# gibt es genauso wie in Delphi einen Unterschied zwischen ComboBox und CheckBox.
@jfheins
Du hast zwar recht, dass der TE mit einer speziellen ComboBox arbeitet. Aber deine Links nützen ebenfalls nicht, weil sich das auf VBA 2003 bezieht. C# arbeitet aber mit .NET.
@Joey86
Welche .NET-Version benutzt du? Woher kommt die Assembly, die zu Microsoft.Office.Core gehört?
Dein Code kommt mir überhaupt spanisch vor:
* Ist Change wirklich ein Ereignis? Dies heißt üblicherweise Changed.
* Einen EventHandler als static zu deklarieren???
* Jedes Ereignis unter .NET muss deklariert werden mit "(object sender, XxxEventArgs e)". Was soll das bei dir?
Zu deiner eigentlichen Frage: Schreib an der Stelle, die dich interessiert, den Punkt und warte ab, was die IDE dir dazu anbietet. Da sollte es mehrere Möglichkeiten geben, die mit Selected anfangen.
Jürgen
Joey86 - Mi 17.03.10 18:06
Danke zunächst mal für die Hilfe, vor allem dir Thomas.
Werde meinen Code optimieren.
Bin hier wohl schon länger angemeldet, dennoch Anfänger und vor allem im Bereich .NET
habe ich so gut wie 0 Erfahrung. Daher muss ich jetzt leider fragen:
Was genau meinst du Thomas, mit "Woher kommt die Assembly, die zu Microsoft.Office.Core gehört". =/
Ich verwende .NET 3.5
Selected oder ähnliches wird mir gar nicht angeboten.
Allerdings/nur accSelection --> bringt mir allerdings nichts.
Wäre euch dankbar für weitere Unterstützung.
JüTho - Mi 17.03.10 18:26
Joey86 hat folgendes geschrieben : |
| Danke zunächst mal für die Hilfe, vor allem dir Thomas. |
Wer hat denn hier den Namen "Thomas" benutzt? Ich nicht.
Wenn du mich mit "Thomas" anreden willst, dann bitte mit "Herr" und "Sie"; aber in einem Forum passt nichts davon.
Joey86 hat folgendes geschrieben : |
| Was genau meinst du Thomas, mit "Woher kommt die Assembly, die zu Microsoft.Office.Core gehört". |
Es gibt mehrere mögliche Antworten (nebenbei: Assembly ist Oberbegriff für EXE und DLL unter .NET):
* Bei deinem Projekt hast du unter "Referenzen hinzufügen" eine DLL ausgewählt, die dazu benötigt wird.
* Irgendwo muss diese DLL gespeichert sein.
* Irgendwann/-wo/-wie muss diese DLL installiert worden sein.
Es ist nicht gesagt, dass sie Microsoft.Office.Core.dll heißt; es ist Microsoft.Office.dll oder Microsoft.Core.dll oder noch etwas anderes denkbar.
Findest du in deiner Hilfe keine Informationen zu Microsoft.Office.Core oder CommandBarComboBox? Gibt es keine separate Hilfe dazu?
Joey86 hat folgendes geschrieben : |
| Ich verwende .NET 3.5 |
Gut zu wissen.
Dann kann ich u.U. nicht weiterhelfen, aber ein paar Tipps noch geben.
Joey86 hat folgendes geschrieben : |
| Selected oder ähnliches wird mir gar nicht angeboten. |
Es wundert mich. Üblicherweise wird eine solche spezielle ComboBox von der Standard-ComboBox abgeleitet. Also stehen alle Eigenschaften in der abgeleiteten Variante zur Verfügung, insbesondere auch SelectedText, SelectedIndex, SelectedItem, SelectedValue.
Gruß Jürgen
Kha - Mi 17.03.10 20:12
JüTho hat folgendes geschrieben : |
| Findest du in deiner Hilfe keine Informationen zu Microsoft.Office.Core oder CommandBarComboBox? Gibt es keine separate Hilfe dazu? |
Gibt es, jfheins hat sie oben verlinkt. Für MS Office Automation existiert anscheinend nur die VBA-Hilfe, aber genauer kenne ich mich damit auch nicht aus. Also
CommandBarComboBox.Index.
@
Joey86: Was ist das genau, ein Office-Addin? Solche essentiellen Informationen solltest du uns nicht verschweigen.
Xearox - Mi 17.03.10 21:22
JüTho hat folgendes geschrieben : |
@Xearox
In C# gibt es genauso wie in Delphi einen Unterschied zwischen ComboBox und CheckBox.
|
oops, hab mich verlesen, sorry
Joey86 - Do 18.03.10 00:27
JüTho hat folgendes geschrieben : |
Wer hat denn hier den Namen "Thomas" benutzt? Ich nicht. Wenn du mich mit "Thomas" anreden willst, dann bitte mit "Herr" und "Sie"; aber in einem Forum passt nichts davon.
|
- Sorry, meinte natürlich Jürgen!
- Hierbei handelt es sich um die Microsoft.Office.Interop.Excel.dll.
-
COM-Add-Ins sind Zusatzkomponenten, mit denen man Office-Anwendungen erweitern kann. Programmiert werden sie grundsätzlich als ActiveX-Komponenten - daher rührt auch das "COM" (Component Object Model) im Namen - und normalerweise kommen sie als DLLs daher.
- Die Möglichkeiten hab ich:
http://msdn.microsoft.com/en-us/library/aa433295.aspx
Leider hat mir davon bislang nichts weitergeholfen. =/
Ich danke euch, für die bisherigen Beiträge.
Werd mir die Sache morgen nochmal anschauen, bin für weitere Tipps/Vorschläge dankbar.
JüTho - Do 18.03.10 10:20
Danke für diese Zusatzinformationen; die waren sehr, sehr nützlich.
| Zitat: |
| Leider hat mir davon bislang nichts weitergeholfen. |
Aber ich glaube, ich kann damit etwas anfangen. Ich schlage vor, mit ListIndex und ggf. List[ListIndex] weiterzuarbeiten.
Gruß Jürgen
Joey86 - Do 18.03.10 14:43
Ah klasse, das wars...^^
Danke!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!