Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 13:02

  • Please register to post and access all features, it's quick, easy and FREE!

 

[C#] Anfänger Problem

Reply
 
Old   #1
 
elite*gold: 0
Join Date: May 2007
Posts: 187
Received Thanks: 76
[C#] Anfänger Problem

Hey,
Ich hab am Freitag mit C# angefangen und gleich auch mich ein bisschen eingeübt. Jetzt habe ich ein paar kleine Fragen:

Ich habe eine GUI mit diesen Steuerelementen:
You must register and activate your account in order to view images.

Wenn ich jetzt z.B. in die erste Textbox "Test22" schreibe und in die 2. "Test33" sowie auch in die 3. "Test44" will ich das per Tastendruck, der folgende Bind ausgeführt wird und dies auch in allen Fenstern.
Die Buttons dienen dazu, dass man einen individuellen HotKey für den Bind setzen kann. Nehmen wir an ich nehme den ersten Bind wo jetzt in der Textbox "Test22" steht. Jetzt drücke ich auf den Button "Deine Taste" und dieser soll jetzt aktiv sein und eine Taste empfangen. Wenn er eine Taste empfängt soll der Text des Buttons von der Taste gelesen werden (z.B. Ich drücke "S" es soll auf dem Button "S" stehen ). Nachdem soll der Hotkey S einen Event starten.

Ich bitte um genau Erklärung und nicht einfach eine msdn Seite schicken woraus ich die Klasse sehen kann. Auch sollte ein Beispiel verfügbar sein womit ich, da ich ein Anfänger bin, dies leicht hingebacken bekomme .
Ich danke euch im Vorraus..

MfG,
gokay22



gokay22 is offline  
Old   #2
 
elite*gold: 38
Join Date: Dec 2008
Posts: 1,336
Received Thanks: 461
du willst das jemand dir den kompletten code vorgibt
und daraus lernen wirst du nichts und bei deinem nächsten problem was vllt nur ein bisschen anderst ist wirst du nciht wissen was du machen musst

objektorientierung musst du dir angucken, dann kannst du bei c# schon 75% deiner probleme mit nur ein paar infos selber lösen

wichtig für dich ist bei deinem problem nur was alles in dem namespace von System.Windows.Input steckt (ASM PresentationCore referenzieren nicht vergessen)

Grob gegliedert musst du in dem Click event.
1. die tastatureingabe abfangen
2. eine eigenschaft von den button ändern
3. ein neues keybinding objekt erzeugen mit den eigenschaften die du brauchst(vllt noch ein keygesture kommt auf die tastenkombination)

tja und wenn du lese faul bist hast du eh gelitten, dann würde ich mit programmieren auf hören und bei autoit bleiben


Noisuf-X is offline  
Old   #3
 
elite*gold: 0
Join Date: May 2007
Posts: 187
Received Thanks: 76
Quote:
Originally Posted by Noisuf-X View Post
du willst das jemand dir den kompletten code vorgibt
und daraus lernen wirst du nichts und bei deinem nächsten problem was vllt nur ein bisschen anderst ist wirst du nciht wissen was du machen musst

objektorientierung musst du dir angucken, dann kannst du bei c# schon 75% deiner probleme mit nur ein paar infos selber lösen

wichtig für dich ist bei deinem problem nur was alles in dem namespace von System.Windows.Input steckt (ASM PresentationCore referenzieren nicht vergessen)

Grob gegliedert musst du in dem Click event.
1. die tastatureingabe abfangen
2. eine eigenschaft von den button ändern
3. ein neues keybinding objekt erzeugen mit den eigenschaften die du brauchst(vllt noch ein keygesture kommt auf die tastenkombination)

tja und wenn du lese faul bist hast du eh gelitten, dann würde ich mit programmieren auf hören und bei autoit bleiben
Also du verstehst mich glaubich falsch..
Wer sagte denn das ihr mir einen ganzen Quellcode geben sollt ? Ich wollte eine kleine Erklärung und ein kleines Beispiel.

Hier z.B. das ist gut für mich:
Quote:
Grob gegliedert musst du in dem Click event.
1. die tastatureingabe abfangen
2. eine eigenschaft von den button ändern
3. ein neues keybinding objekt erzeugen mit den eigenschaften die du brauchst(vllt noch ein keygesture kommt auf die tastenkombination)
Und du willst garnicht wissen wielang ich schon an einem Global Hotkey und Hook und sonstiges setze! Ich bemüh mich bis zur Spitze und nicht wie andere die nach einer Weile aufhören..
Ihr denkt auch echt immer nur negativ. Bitte #closed!
gokay22 is offline  
Old   #4
 
elite*gold: 38
Join Date: Dec 2008
Posts: 1,336
Received Thanks: 461
Quote:
Originally Posted by gokay22 View Post
Also du verstehst mich glaubich falsch..
Wer sagte denn das ihr mir einen ganzen Quellcode geben sollt ? Ich wollte eine kleine Erklärung und ein kleines Beispiel.

Hier z.B. das ist gut für mich:


Und du willst garnicht wissen wielang ich schon an einem Global Hotkey und Hook und sonstiges setze! Ich bemüh mich bis zur Spitze und nicht wie andere die nach einer Weile aufhören..
Ihr denkt auch echt immer nur negativ. Bitte #closed!
dann habe ich dich ein bisschen falsch verstanden, aber wieso willst du dann keine msdn seiten

KeyBinding-Klasse (System.Windows.Input)

zu beispiel bei KeyBinding ist ein super beispiel für ein KeyBinding Objekt
also für C# habe sie da schöne sachen drinne

und das sag ich als LinuxNutzer


Noisuf-X is offline  
Old   #5
 
elite*gold: 0
Join Date: May 2007
Posts: 187
Received Thanks: 76
Das hilft mir jetzt eher nicht weiter..
Und das ist ja eher eins meiner Probleme Hätte gerne das Überprüfen der Hotkeys auch.

So mache ich zz. den Buttontext für die Hotkeys:

Code:
public int index;
public bool check;


        private void MainForm_KeyDown(object sender, KeyEventArgs e)
        {
                if (check == true)
                {
                    if (index == 0)
                    {
                         button4.Text = e.KeyData.ToString();
                    }
                    check = false;
                }
         }

        private void button1_Click(object sender, EventArgs e)
        {
            check = true;
            index = 0;
        }
Und jetzt will ich aber noch das er dies korrigiert ob der Key schon verwendet wurde. Wäre echt nett von euch das jetzt auch zu lösen
gokay22 is offline  
Old   #6
 
elite*gold: 38
Join Date: Dec 2008
Posts: 1,336
Received Thanks: 461
du kannst alle buttons in eine liste packen

Quote:
public List<Button> Buttonliste = new List<Button>();
...

//bei initalsieren kannst du dann ja alle adden z.b. so
foreach (var item in Controls)
{
if (item is Button)
Buttonliste.Add((Button)item);
}

...

//und dann kannst du immer mit Linq abfragen ob es einen button gibt der den Button enhält

Buttonliste.Select(p => p.Text).Contains(e.KeyData.ToString()) // gibt einen bool zurück kannst du also in einer abfrage benutzen
richtig sinnvoll ist das aber nicht da du so die datenschicht und die anzeige vermischt und das ist sehr sehr dreckige programmierung
Noisuf-X is offline  
Old   #7
 
elite*gold: 0
Join Date: May 2007
Posts: 187
Received Thanks: 76
Quote:
Originally Posted by Noisuf-X View Post
du kannst alle buttons in eine liste packen



richtig sinnvoll ist das aber nicht da du so die datenschicht und die anzeige vermischt und das ist sehr sehr dreckige programmierung
Mhm wenns dreckiges Programmieren ist und nicht sinnvoll ausgearbeitet ist würde ich es auch nicht übernehmen.
gokay22 is offline  
Old   #8
 
elite*gold: 38
Join Date: Dec 2008
Posts: 1,336
Received Thanks: 461
Quote:
Originally Posted by gokay22 View Post
Mhm wenns dreckiges Programmieren ist und nicht sinnvoll ausgearbeitet ist würde ich es auch nicht übernehmen.
ich habe nicht von meinem geredet, sondern von deinem, ich habe auf dem nur was drauf gesetzt, da du was dafür haben wolltest, ich würde das von grund auf anderst angehen

erklärung

1. du speicherst die taste die du verwendest als string im anzeige text(was später sowieso gehörig für fehler sorgen würde) des buttons, das meine ich mit vermischung der datenschicht und anzeigeschicht von
2.diese index = etc.. und check = true, ist ganz ehrlich gesagt "scheisse", un nötig kompliziert, schlecht um neue sachen ein zufügen und hardcodiert ist immer

und so wie ich das lese willst du dich ja richtig mit beschäftigen, wieso dann nicht gleich von anfang an professionell rangehen

lösungsvorschläge

1. von der klasse button ableiten um ein control zuhaben was schon tut was du willst(ist für so ein programm wahrscheinlich ein bisschen to much)
aber es ist die professionellst lösung und schnellste, da man so viel viel leichter was ändern kann am programm und vorallem bei großen programmen ist das die einzige sinnvolle lösung, vorallen wenn mehere an einem projekt arbeiten
2.du referenzierst die jeweiligen buttons die du benutzt und gehst zb über das tag was sich hier für richtig nützlich erweist
(ist zwar nicht die beste lösung, aber schon ein bisschen sinvoller und schöner gelöst)

da ich heute keine zeit habe, kann ich dir morgen für jedes mal ein kleines beispiel schreiben

P.S. bitte versuch nicht irgenteine sprache aus den TuTs hier im forum zu lesen, ich will hier ja ncihts schlecht reden aber die meisten "ziehst du button hier rein, schreibst dann in die funktion" tuts sind, eher irre führend als hilfreich und erklären jemand 0,00000001 % wie die programmiersprache funktioniert

guck in wirklich dotnet foren oder ließ ein buch über c#(wenigstens zum nachschlagen)
Noisuf-X is offline  
Old   #9
 
elite*gold: 0
Join Date: May 2007
Posts: 187
Received Thanks: 76
Ok Danke dir
Ist echt nett von dir, dass du dir Zeit für mich nimmst..
Aber den Quellcode im Zitat versteh ich irgendwie nicht richtig.
Das würde ich aus meiner Sicht sehen:
Du erstellst eine Buttonliste, machst eine Abfrage und wandelst zuletzt den KeyCode in einen String..

Und ja das mit den TuTs ist eine Sache ^^.
Nochmals Danke.


gokay22 is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
TuT für Anfänger
Ok ich hab mir gedacht ein kleines TuT zu erstellen. Was im Sticky Bereich kommen soll. Ihr fügt einfach die antworten hinzu oder gibt Tipps Ich...
62 Replies - CrossFire
kleines anfänger problem^^
ich fang grad mit autoit an und will mir n bot für metin2 erstellen was muss ich eingeben damit die befehle an mt2 gehen? und nich an z.b. internet...
8 Replies - AutoIt
Wow Anfänger?
Hey, ich habe vor heute Wow anzufangen und davor noch nie gespielt. Deshalb hab ich ein Paar Fragen: 1.) Welcher Char empfiehlt sich für den...
17 Replies - WoW Main - Discussions / Questions
Anfänger...
So ich bin neu in Shaiya =) habe ne frage Was ist ein Lapisa Wo krieg ich es Was kann man damit machen... und wie kriegt man schnell gold?...
2 Replies - Shaiya
Autoit Problem *Anfänger*
Hi Leute, ich habe ein problem ^^ Ich möchte eine Einfache Form erstellen mit einem Button . So weit so gut..habs halt mit Koda gemacht und so...
4 Replies - AutoIt



All times are GMT +1. The time now is 13:02.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.