Hallo !
Ich suche Informationen wie ich Steuerelemente mittels Datenbindung untereinander verknüpfen kann. Gibt es irgendwo im Möglichkeiten sich dieses Wissen anzulesen?
Ich programmiere zur Zeit eine Oberfläche und vermute das mir das Databinding so manche Software-Arbeit ersparen kann. Wie funktioniert das Prinzip und was für Möglichkeiten habe ich...
Fragen über Fragen, jetzt suche ich die passenden Antworten!
Kann mir jemand weiterhelfen?
Gruss macke_a
Hallo ! Danke für die Hinweise und natürlich habe ich gleich auch eine Frage.
Bei meiner Oberfläche nutze ich einen Ziffernblock (12 Tasten) die ich je nach Tastendruck mit einer roten Farbe kenntlich machen will. Jetzt betätige ich die Taste 1, d.h. diese Taste wird rot und soll den farblichen Zustand halten bis die nächste Taste gedrückt wird; alle anderen bleiben neutral.
Wird jetzt Taste 4 betätigt, so müssen alle anderen Tasten wieder neutral werden und die gedrückte hat wiederum die rote Farbe, usw.
Kann man so etwas mittels Databinding lösen ? Oder wird das zu komplex mit der Programmierung? Gibt es eine alternative Lösung ?
Gruss macke_a
Für mich kommt an so einem Vorhaben DataBinding überhaupt nicht zum Thema. Das ist doch reine GUI-Logik die du da haben willst. Es wird auch der einfachste Weg sein, dass selber zu programmieren... Das sind vllt. 10 Zeilen Code.
> Codejunky <
ja, also du scheinst da den Sinn von DataBinding missverstanden zu haben...
damit kann man zum Beispiel ein DataGridView sehr unkompliziert mit einer passenden Liste befüllen, indem man diese als BindingSource angibt...
Du solltest da wohl mit den Click-Events der einzelnen Buttons arbeiten. Wenn du einen Button klickst, soll dieser einfach rot werden und alle anderen bekommen wieder die Standard-Farbe...
Nicht so kompliziert denken 😉
"Ab heute senden wir unseren Newsletter nicht mehr an [meine eigentliche E-Mail-Adresse], sondern an weg:::
*lach*
zum Beispiel so 🙂
private void button1_Click(object sender, EventArgs e)
{
button1.ForeColor = Color.Red;
foreach (Control crl in this.Controls)
if (crl is Button && crl.Name != ((Button)sender).Name)
((Button)crl).ForeColor = Color.Black;
}
private void button2_Click(object sender, EventArgs e)
{
button2.ForeColor = Color.Red;
foreach (Control crl in this.Controls)
if (crl is Button && crl.Name != ((Button)sender).Name)
((Button)crl).ForeColor = Color.Black;
}
private void button3_Click(object sender, EventArgs e)
{
button3.ForeColor = Color.Red;
foreach (Control crl in this.Controls)
if (crl is Button && crl.Name != ((Button)sender).Name)
((Button)crl).ForeColor = Color.Black;
}
"Ab heute senden wir unseren Newsletter nicht mehr an [meine eigentliche E-Mail-Adresse], sondern an weg:::
*lach*
erhm.. wohl eher so:
private void button_Click(object sender, EventArgs e)
{
Button temp = sender as Button;
if(temp != null)
{
foreach (Control c in this.Controls)
{
if (c is Button && c != temp)
{
c.ForeColor = Color.Black;
}
}
temp.ForeColor = Color.Red;
}
}
und nur noch alle button-clickevents auf diese methode registrieren. so vermeidest du sich wiederholende codeabschnitte.
wenn du außer den einzufärbenden buttons noch andere buttons hast, dann musst du die logik entsprechend anpassen.
edit: quelltextformatierung...
jop, optimieren kann man ja immer, fiel direkt nach dem posten auch auf, dass ein event ja völlig reicht, aber war zu faul es zu ändern^^
"Ab heute senden wir unseren Newsletter nicht mehr an [meine eigentliche E-Mail-Adresse], sondern an weg:::
*lach*
Hallo !
Ich habe ein Problem bei der Auswertung des folgenden Quelltextes...
private void button_Click(object sender, EventArgs e)
{
Button temp = sender as Button;
if(temp != null)
{
foreach (Control c in this.Controls)
{
if (c is Button && c != temp)
{
c.ForeColor = Color.Black;
}
}
temp.ForeColor = Color.Red;
}
}
Den Ziffernblock ist mit der button clickevent methode verbunden.
Allerdings bekomme ich für temp immer eine Null als Rückgabewert zurück!
Ich habe es mit meinem Debugger mehrfach kontrolliert und es ist nicht möglich, einen anderem Rückgabewert zu bekommen.
Wie kann das denn sein? Jemand nen Vorschlag, woran diese liegen könnte?
Gruss macke_a
Der Ziffernblock besteht aus einzelnen Buttons! Die Buttons werden alle über das button clickevent Methode miteinander verbunden.
Somit mußte ich einen Rückgabewert bekommen!
Gruss macke_a