Hauptmenu\Untermenu
-
Hallo Zusammen,
ich lerne seit wenigen Tagen C# und möchte ein kleines Programm schreiben.
Ich habe vor einen Grafik-Balken in verschiedene Bereiche zu zerlegen.
Wenn nun eines dieser Bereiche mit der Maus angecklickt werden sollte, soll ein Fenster aufgehen, der den genauen Inhalt dieses Balkenteils zeigt(Zoom-In). Nun soll auch in diesem Balkenteil eine weitere Zoom-Möglichkeit stehen (bis zu 5-Mal zoomen).
Ähnlich wie Menü und Submenus.Hat einer von euch schon mal etwas ähnliches programmiert oder so etwas irgendwo im WWW entdeckt? Das würde mir sehr weiterhelfen.
Danke für eure Hilfe im Voraus.
-
Hi,
klingt nach GDI-Programmierung. Gut Infos und Beispiele findest du hier:
http://www.codeproject.com/info/search.asp?cats=3&cats=5&cats=6&searchkw=gdi&Submit1=Search&author=&sd=11%2F15%2F1999&ed=2%2F3%2F2006
-
Zuerst mal vielen Dank.
Ich glaube, dass ich mein Vorhaben nicht genau erklären konnte.
Ich möchte mit Hilfe mehrerer Buttons einen Balken bilden.
Wenn nun eines dieser Buttons(stellen einen Balkenteil dar) gedrückt wird, soll ein neues Fenster aufgehen, in dem genauere Informationen zum Inhalt dieses Buttons abgelegt sind. Aber es soll nicht möglich sein, ohne das neu geöffnete Fenster zu schliessen, auf dem alten Fenster etwas anderes zu unternehmen.
-
Als das 1. hab ich nicht ganz Verstanden mit Buttons Balken und so,
aber um ein Fenster aufzumachen und das andere warten muss bis das beendet ist
einfach ShowDialog() verwendet und nicht Show()
-
Klang so, als wolltest eine Chart oder etwas aehnlicher aufbauen...
Du willst dynamisch Buttons anlegen und dann zu dem jeweiligen Button ein
Info-Formular oeffnen?
Oder hast du eine feste Anzahl Buttons, deren laenge du variieren moechtest?
-
Ja, es ist einem Info-Fenster stark ähnlich.
Die Anzahl der Buttons soll variabel sein. (Anstelle Panels benützen und denen Maus-Klick Eigenschaften geben.
Noch bin ich mir nicht sicher, wieviele Buttons insgesamt verwendet werden.
Für den Anfang möchte ich 10 Buttons anlegen (Auf Form1).
Wenn ich diese Buttons betätige, soll ein Info-Fenster(FormX) aufgehen.
-
Die Vorgehensweise ist uebrigens auch schoen im InitializeComponents zu sehen:
private void addButtons() { for (int i = 0; i<10; i++) { Button btn1 = new Button(); btn1.Name = "btnTest" + i.ToString(); btn1.Text = "Test"; btn1.Left = 10; btn1.Top = 10; btn1.Width = i*2*10; this.Controls.Add(btn1); } }
Optimal waere es natuerlich hier, ein Control anzufertigen, das komplett dynamisch funktioniert und die entsprechenden Click-Events auf die Buttons abfaengt.
Du kannst natuerlich auch einen neuen Buttons aus der Forms.Button-Klasse ableiten und das Click-Event ueberschreiben.
-
Hallo abbes,
zuerst aml bedanke ich mich sehr für diesen code.
Da ich noch über sehr wenig c# Kenntnisse verfüge, ist mir all dies eine grosse Hilfe.Kannst du mir vielleicht noch erläutern, wie ich das Programm dazu bringe, je nach angeklicktem Button mir eine Zahl anzuzeigen?
z.B. wenn ich Button Nr.1 drücke soll "1" erscheinen.
Wenn ich Button Nr.50 drücke soll 50 erscheinen?Danke im Voraus.
-
Das kannst du zB mit einer MessageBox machen
MessageBox.Show(Button.Text);
Desweiteren moechte ich dir an dieser Stelle empfehlen mal mit einem Buch
ueber C# zu beginnen. Ein offenes eBook gibt es bspw. bei Galileo
http://www.galileocomputing.de/openbook/csharp/
Ist zwar nicht das "Beste" aber sollte fuer deine Zwecke durchaus reichen...
-
Hallo abbes,
werde mich in den nächsten paar Tagen mit dem Buch beschäftigen.
mit dem unteren Code scheint es aber dennoch Probleme zu haben.
private void Controls_MouseDoubleClick(object sender, MouseEventArgs e)
{
MessageBox.Show(Button.Text);
}