Danke für die Vorschläge.
DeinMethodenArray ? Das Initialisiere ich dann wie ?
Das funktioniert ja auch leider nur, wenn die Methoden immer eine gleiche reihenfolge haben, oder nicht ?
Was mache ich, wenn ich zum Beispiel ein paar Stellen überspringen will, zB wenn der User dazu keine Rechte hat ?!
Edit:
Da es nur 2 unterschiedliche Gruppen gibt bei den Usern, könnte ich 2 unterschiedliche Arrays nehmen oder in jeder Methode überprüfen ob der User die Rechte hat und die dann einfach mit einem return überspringen ?!?
Hallo Comm,
Ich stehe gerade vor einer neu strukturierung meines Programmes und dabei vor einer eigentlich kleineren Hürde, die ich aber gerne elegant lösen möchte.
Und zwar geht es um die Verwaltung eines Buttons. Dieser Button ist so ziemlich das einzigste auf der GUI, er soll aber zu unterschiedlichen Zeipunkten verschiedene Funktionen haben. Wie stell ich es jetzt an, dass ich weiß, wann der Button die bestimmte Methode aufrufen soll ?
Ich hatte es erst folgendermaßen gelöst:
int status = 0;
public void Button1_Click()
{
switch (status)
{
case 0:
Methode();
status = 1;
break;
case 1:
Methode2();
status = 2;
break;
....
}
}
Finde das aber sehr unschön und nicht sehr unübersichtlich. Was habt ihr für Vorschläge und Tipps ?
Theoretisch möglich, du müsstes dann dein touchpad halt nur deaktivieren, so dass man immer wenn es deaktiviert wird auf "normal betrieb" umstellt.
Als Service wollte ich das ganze sowieso noch irgendwann machen, aber nicht um meine Kollegen im Büro zu ärgern 😉
So ich melde mich auch mal wieder, aber nur mit einem kleinen Miniprojekt.
Sinn und Zweck dieses 'Tools' war und ist es, dass man die Mausgeschwindigkeit / - beschleunigung in Spielen und anderen Programmen unabhängig von der Windowseinstellung verändern kann. So hatte ich zum Beispiel das Problem, dass ich in einem Spiel die Mausgeschw. nicht weiter runter stellen konnte, sie mir aber trotzdem noch zu schnell war. Zudem war es mir zu lästig sie vor Spielstart runter zu schrauben und nach Spielende wieder hoch zu stellen. Also ist folgendes entstanden:
'MouseController'
Was macht es ?
Es verändert die Mausgeschwindigkeit "on the fly" in unterschiedlichen Programmen und das nur, wenn das eingetragene Programm gerade aktiv ist.
Das Thema ist zwar schon älter aber bei mir gerade hochinteressant.
Und zwar Versuche ich auch einen string in c# zu verschlüsseln und in php wieder zu entschlüsseln.
Bei der CipherMode ECB spielt der IV meines Wissens gar keine Rolle und dennoch kommen unterschiedliche ergebnisse raus.
Kennt jemand die Lösung für das Problem ? Oder ist das ein Geheimniss?
Nach laaaaaaaaaaaaaaaangem nachforschen habe ich das Problem gefunden !
Soweit ich weiß, gibt es keine Seite auf der es gelöst worden ist und ich war mit Sicherheit auf 50, wenn nicht sogar mehr, unterschiedlichen Seiten.
Kommen wir zum Punkt:
Der Fehler liet in einem Eintrag in der Registry ! Und zwar sagt dieser aus, ob events erlaubt sind oder nicht. Da wir events nutzen wollen, muss dieser Wert natürlich auf 1 stehen ! Normal würde man nun davon ausgehen, dass der Wert ein bool oder vielleicht noch ein Integer-Wert ist, aber Microsoft benutzt für solche einen Wert lieber string.
Wie behebe ich nun den Fehler ?
Als erstes stoppt ihr euren WMI - Dienst.
Nun führt ihr folgende Befehlszeile aus:
REG.EXE Add "HKLM\SOFTWARE\Microsoft\WBEM\CIMOM" /v "EnableEvents" /t "REG_SZ" /d "1" /f
Danach startet ihr den Dienst wieder und die Events sind enabled !
Eventuell ist ein Neustart des PCs erforderlich, jedoch nicht in jedem Fall.
Hoffe ich konnte ein paar Usern weiterhelfen.
mfg juLz
Seit dem Update kommt bei mir nur folgender Fehler, wenn ich versuche zu updaten ( also beim Aufruf der Funktion DoUpdate ) :
************** Ausnahmetext **************
System.ComponentModel.Win32Exception: %1 ist keine zulässige Win32-Anwendung
bei System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
bei System.Diagnostics.Process.Start()
bei System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
bei System.Diagnostics.Process.Start(String fileName, String arguments)
bei K_Updater.PrepareUpdate.workerPrepareUpdate_RunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs e)
bei System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)
bei System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)
Das ist nich nur bei mir so, sondern auch auf jedem anderen Vista Rechner. Werde es gleich noch mit XP probieren und dann hier rein editieren.
Auf Vista spielt es keine Rolle ob UAC an oder aus ist.
Hoffe der Fehler lässt sich finden 😉
//EDIT: Unter XP läuft es !
Erstmal wieder ein dickes BRAVO, das du es wieder mal geschafft hast ein Update rauszubringen, jedoch habe auch ich einen kleinen Schönheitsfehler und nen Vorschlag.
Der Fehler:
Wenn ich ein Projekt geöffnet habe und es dann maximiere wird das fenster schön groß´, der inhalt aber klein: Anchor festlegen 😉
Der Vorschlag:
Projekte vom Server importieren !
D.h: Man gibt seinen FTP Server an und dein Programm erkennt automatisch alle Projekte, die sich dort befinden. Nach dem auswählen, welche Projekte man bearbeiten will, hat man diese dann lokal zum bearbeiten zur Verfügung und spart sich somit das lästige Importieren / Exportieren !
Ansonsten immer noch super arbeit !