Laden...

Forenbeiträge von partyboy Ingesamt 109 Beiträge

08.06.2006 - 23:57 Uhr

Friedel,

das funktioniert wirklich super, besten Dank für Deine Hilfe!
Kannst du mir auch sagen, wie ich das Ganze wieder deserialisiere, damit ich nun die Checkboxen-Zustände aus der XML-Datei laden kann?

partyboy

08.06.2006 - 10:30 Uhr

Hi,

und wie kann ich daraus jetzt ein Dataset erstellen?

08.06.2006 - 00:45 Uhr

Hi,

ich möchte gerne in einer XML-Datei Controlzustände, z.B. ob eine Reihe von Checkboxen an- oder abgehakt sind, abspeichern. Dazu möchte ich gerne ein Dateset benutzern, weil sich Datasets so schön als XML speichern und aus XML-Dateien laden lassen kann.

Dazu habe ich nun einige Fragen.
Ich habe gehört, dass man sich eine XML-Datei anfertigen kann und sich daraus ein Dateset erstellen lassen kann in Visual Studio 2005 Express. Wie geht das?

z.B. aus einer solchen XML-Datei

<?xml version="1.0" encoding="utf-8" ?>
<controls>
	<checkboxen>
		<checkboxName>dummyName</checkboxName>
		<checkboxWert>dummyWert</checkboxWert>
	</checkboxen>	
</controls>

Ich habe mit XML-Dateien noch nicht viel am Hut gehabt. Ist dieser Aufbau der XML-Datei überhaupt richtig für mein vorhaben?

Mein Ziel ist es, später einfach in einer Schleife alle Checkboxen zu durchlaufen und die Zustände in der XML-Datei zu speichern.

Vielen Dank für Eure Tipps,
ravel

28.05.2006 - 19:11 Uhr

Hi,

vielen Dank für den Tipp.

Mit Singleton kann ich leider wenig anfangen. Kann mir jemand sagen, inwiefern ich meine Klasse ändern muss, damit sie Singleton ist?

Muss ich sonst noch irgendetwas in meinem geposteten Codeschnipsel ändern oder wird dann automatisch immer die bestehende Instanz der Klasse benutzt?

Besten Dank,
partyboy

28.05.2006 - 18:43 Uhr

Hi,

durch diesen Beitrag Von Form2 auf Form1 zugreifen. inspiriert öffne ich Form2 folgendermaßen aus der MainForm heraus:


        private void überToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            About frmAbout = new About();
            frmAbout.DesktopLocation = this.DesktopLocation;
            frmAbout.Closed += new EventHandler(frmAbout_Closed);
            frmAbout.Shown += new EventHandler(frmAbout_Shown);
            frmAbout.ShowDialog();
        }

        private void frmAbout_Closed(object sender, EventArgs e)
        {
            About frmAbout = sender as About;
            if (frmAbout != null)
            {
                this.DesktopLocation = frmAbout.DesktopLocation;
                this.Show();
                frmAbout.Closed -= new EventHandler(frmAbout_Closed);
            }
        }

        private void frmAbout_Shown(object sender, EventArgs e)
        {
            About frmAbout = sender as About;
            if (frmAbout != null)
            {
                this.Hide();
                frmAbout.Shown -= new EventHandler(frmAbout_Shown);
            }
        }

Das klappt super, aber ich habe da ein Problem...

Durch das About frmAbout = new About(); wird aber immer eine neue Instanz von der Form erzeugt was dazu führt, dass z.B. vom Benuter gesetzte Checkboxen-Zustände rückgängig gemacht werden.

Wie kann ich sicherstellen, dass immer nur eine Instanz von Form2 exisitert?

Vielen Dank,
Partyboy

26.05.2006 - 16:54 Uhr

Hi DeveloperX,

ich habs grade ausprobiert. Leider zeigt sich kein Unterschied.

Besten Gruß,
partyboy

26.05.2006 - 16:12 Uhr

Hi Xqgene,

danke für deine Hilfe aber leider bringt dieser Schnipsel im Konstruktor des Unsercontrols keine sichtbare Minderung des Flackerns. 🙁

partyboy

26.05.2006 - 12:25 Uhr

Hi FZelle,

das funktioniert perfekt, vielen Dank!

partyboy

26.05.2006 - 01:47 Uhr

Hi,

ich möchte gerne in einem Assembly ein Programm (exe) als Resource verwahren.
Es soll möglich sein, das Programm per Knopfdruck wieder aus dem Assembly zu extrahieren und in einem Ordner zu speichern.

Ich habe dem Projekt folgendermaßen eine exe als Resource hinzugefügt:
Rechtsklick auf Projektname --> "Add" --> "New Item" --> "Resources File" gewählt".
Es hat sich die Oberfläche der "Resource1.resx" geöffnet und dort habe ich auf "Add Resource" --> "Add existing file" geklickt und die Programm.exe ausgewählt.

Ich habe hier im Forum gesucht und habe mir folgenden Code zusammengebaut(klaut):


System.IO.Stream manifestStream = this.GetType().Assembly.GetManifestResourceStream("MeinNamespace.Programm.exe");
byte[] buffer = new byte[manifestStream.Length];
manifestStream.Read(buffer, 0, Convert.ToInt32(manifestStream.Length));
manifestStream.Close();

System.IO.FileStream fileStream = System.IO.File.Create(Application.StartupPath+"\\Programm.exe");
fileStream.Write(buffer, 0, buffer.Length);
fileStream.Close();

Wenn ich die Funktion ausführe, bekomme ich immer ein "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt." bei folgender Zeile:
byte[] buffer = new byte[manifestStream.Length];

Was mache ich falsch?

partyboy

24.05.2006 - 17:47 Uhr

Hi,

ich benutze diese Komponente von codeproject: http://www.codeproject.com/vb/net/popup.asp

Leider bekomme ich immer ein schwarzes Flackern, wenn ich mit diesem popup ein Usercontrol (mit weniger als 100% opacity) anzeigen lassen möchte.

Wisst Ihr wie man das schwarze Flackern unterbinden kann?
doublebuffered=true (in der Form oder im Usercontrol) hilft leider nicht.

partyboy

23.05.2006 - 18:03 Uhr

Hi,

hat sich erledigt.
this.Parent.Hide(); schließt das Popup.

partyboy

23.05.2006 - 16:23 Uhr

Hi,

ich habe mit Hilfe dieser Komponente klick ein UserControl in einem Popup angezeigt.

Dieses Popup lässt sich schließen, indem man auf die Parent-Form klickt, die das Popup aufgerufen hat.

Ich würde jetzt gernen einen Schließen-Button direkt auf dem UserControl platzieren und somit ebenfalls das Popup bzw. Usercontrol schließen.

Leider finde ich keine geeignete Funktion dafür.

partyboy

09.04.2006 - 15:53 Uhr

danke, aber wie kann ich das öffnen?

09.04.2006 - 13:35 Uhr

Hi,

dann werde ich es wohl per for-each machen. Ich könnte mir das ganze erleichtern, indem ich den Namen der Controls, dessen Zustände ich speichern möchte, ein bestimmtes Kürzel voranstelle.
Zum Beispiel: "savCheckBox1"

Dann gehe ich per for-each alle Controls durch und Frage ab, ob der Name mit "sav" anfängt. --> Wenn ja, Zustand abspeichern.

Gute Idee?

partyboy

08.04.2006 - 00:29 Uhr

Hi,

ich habe nen Haufen Controls in meinem Programm (vorallem Checkboxen) und möchte gerne deren Zustände abspeichern. Es soll möglich sein verschiedene Profile (also Zustände) zu speichern und zu laden.

Ich bin durch die Suche auf folgenden Thread gestoßen: Das neue Konfigurationsmodell im .NET Framework 2.0

Leider kann ich nicht auf PROJEKTNAME.Properties zugreifen.

Liegt Properties vielleicht in einem tieferen namespace?

partyboy

04.04.2006 - 23:55 Uhr

Hi,

ich habe bei codeproject.com diese tolle FormFader-Komponente gefunden http://www.codeproject.com/csharp/notanotherformfader.asp

Leider flackert es beim schließes des Formulars kurz schwarz auf, besonders die Controls die auf dem Formular liegen.
Ich habe testweise schon doublebuffered auf true gesetzt, was aber leider nicht geholfen hat.

Habt Ihr ne Ahnung wie man dieses kurze, schwarze aufflackern verhindern kann?

partyboy

04.04.2006 - 21:28 Uhr

Hi,

BESTEN DANK für deine Hilfe!
Ich werds testen sobald ich zeit habe.

partyboy

03.04.2006 - 23:04 Uhr

Hi,

ist es irgendwie möglich in einem Tooltip-Fenster in Bild anzuzeigen?
Es scheint als biete die Tooltipklasse von Haus aus nicht die Mittel.

Ich benutze das .net Framework 2.0

partyboy

22.03.2006 - 22:28 Uhr

Hi Herbivore,

wenn ich die zeitaufwändige Funktion in einem Thread starte, erhalte ich das gleiche Ergebnis. Die Lade-Form blendet sich einfach nicht aus.

Das Problem ist ja folgendes: Das Programm macht solage nicht weiter, bis das Ladeforumular geschlossen ist.

Kann man für Threads ein Event anlegen, sowas wie OnFertig, womit man abfragt ob ein Thread durchlaufen ist?

partyboy

22.03.2006 - 22:05 Uhr

Hi,

ich möchte eine Funktion aufrufen, die einige Sekunden zum abarbeiten benötigt. In der Zeit will ich dem User eine Form zeigen auf der "Loading..." oder sowas steht. Wenn die Funktion fertig ist, soll ich die Form wieder schließen. Einfach umzusetzen, dachte ich.

Mein Problem ist, dass sich die Ladeform nicht mehr schließt, wenn sie einmal angezeigt wurde.

Der Code sieht ungefähr so aus:

Zeige_LadeFormular();
Langwierige_Funktion_starten();
Schließe_Ladeformular();

Ich glaube, das Problem liegt dabei, dass das Programm gar nicht mehr selbstständig aus Zeige_Ladeformular() herauskommt.

Mithilfe von Threads konnte ich das Problem auch nicht lösen.

Wie löst man sowas am elegantesten?

Vielen Dank

10.03.2006 - 23:25 Uhr

Hi,

kennt Ihr eine kostenlose Library, mit der man Word-Dokumente nach PDF konvertieren kann? Es ist wichtig, dass sie stationery (Briefpapier) unterstützt.

Besten Dank,
partyboy

07.03.2006 - 23:43 Uhr

Hi,

besten Dank für die Erklärung. Hast du vielleicht noch ne Seite wo erklärt wird, wann .Dispose() immer vernwedet werden soll? Oder gibts na ne einfache Regelung? Immer wenn die Klasse eine Dispose/Close-Funktion enthält und mit new ein Objekt erstellt wurde, muss Dispose bzw. Close aufgerufen werden?

partyboy

07.03.2006 - 23:17 Uhr

Hi,

ich ich sehe zum ersten Mal die Verwendung von using innerhalb einer Funktion.

			using(ManagementObject service = new
			ManagementObject("Win32_Service.Name='Messenger'"))
			{
			ManagementBaseObject
			inputArgs=service.GetMethodParameters("ChangeStartMode");
			
			inputArgs["StartMode"]="Manual";
			
			ManagementBaseObject
			outParams=service.InvokeMethod("ChangeStartMode",inputArgs,null);

Kann mir jemand die Verwendung von using erklären? Kann man das ganze auch noch ohne using benutzen?

partyboy

06.03.2006 - 11:03 Uhr

Hi,

vielen Dank es klappt jetzt.
Ich verstehe aber denn Sinn darin nicht, dass ich erst einen Verweis in mein Projekt bringen muss. So wie ich das Framework verstehe, kann ich immer auf alle Funktionen zugreifen. Dafür muss der Endbenutzer ja auch das ganze, große Framework installiert haben. Warum muss ich dann noch speziell einen Verweis hinzufügen? Hat das nur Gründer der Übersichtlichkeit?

partyboy

06.03.2006 - 10:02 Uhr

Hallo Leute,

ich möchte gerne einen Windows-Dienst starten (winxp) und habe schon diesbezüglich das Forum durchsucht. Ich finde als Ansatz immer nur: System.ServiceProcess.ServiceController
Diesen Namespace kennt mein SharpDevelop 2.0 (mit Framework 2.0) aber nicht.
Wohin wurde er verlegt?

partyboy

10.01.2006 - 19:39 Uhr

Hi,

kommt man bei der Erzeugung der MessageBox nicht irgendwie an den Handle der MessageBox?

partyboy

08.01.2006 - 22:25 Uhr

Hi herbivore,

deswegen lege ich ja auch viel Wert darauf zu erkennen ob es wirklich ein Pfad ist, den ich mit den .Exists-Funktionen abfragen kann. Vor dem Löschen werden die Werte natürlich gesichert. Ohne Sicherung wäre es selbst mir zu riskant.

Hat jemand noch irgendwelche Vorschläge?

Besten Gruß,
partyboy

08.01.2006 - 22:05 Uhr

Hi herbivore,

du hast natürlich völlig recht. Meine Beispiele können durchaus richtige Pfade sein. Ein Ordner kann auch /blabla.dll/ heißen.

Ich hole mir die Pfade aus der Registry und möchte überprüfen ob diese Pfade auf der Festplatte überhaupt existieren. Sollten die Pfade auf der Festplatte nicht existieren, sollen sie aus der Registry gelöscht werde.
Ich kenne nur die Möglichkeiten per File.Exists und Directory.Exists zu überprüfen ob es auf der Festplatte einen Verzeichnis-Pfad bzw. einen Datei-Pfad überhaupt gibt.

Besten Gruß,
partyboy

08.01.2006 - 21:32 Uhr

Hi herbivore,

das hilft mir aber nicht weiter.
System.IO.File.Exists("C:\WINDOWS\system32\mscomct2.ocx, 10") liefert mir false. Das heißt für mein Programm: Raus mit dem String aus der Liste!

Mein Ziel ist, dass ich alle Strings der Liste überprüfe, ob sie Pfade sind UND auf der Festplatte noch vorhanden sind. Wenn ein String aus der Liste ein Pfad ist und auf der Festplatte NICHT vorhanden ist, dann wird er aus der Liste gelöscht.
Wenns bei mir aber schon daran scheitert, dass ich nicht richtig erkennen kann ob es ein Pfad ist oder nicht, dann werfe ich die falschen Einträge aus der Liste.

Deswegen ist mein Ansatz der, dass ich erstmal versuche zu erkennen ob der String überhaupt ein gültiger Pfad ist. Gültig in dem Sinne, dass ich ihn mit File.Exists bzw. Directory.Exists auf Existens hin überprüfen kann.
Oder gibt es Funktionen mit denen ich soetwas testen kann:
"C:\WINDOWS\system32\mscomct2.ocx, 10"
"C:\WINDOWS\system32\msvbvm60.dll\3"

Besten Gruß,
partyboy

08.01.2006 - 21:01 Uhr

Hi herbivore,

ich bekomme gar keine Exception, wenn ich per System.IO.File.Exists("C:\WINDOWS\system32\mscomct2.ocx, 10") prüfe. Es wird nur false zurückgeliefert. Wenn ich false zurückbekommen, heißt es fürs Programm, dass der Pfad aus der Liste entfernt werden kann und das wäre fatal.

partyboy

08.01.2006 - 19:10 Uhr

Hi Leute,

danke erstmal für eure Antworten und für den Link über regex.

Mein Vorhaben ist folgendes: Ich habe eine Liste mit Strings. U.A. stehen dort auch Pfade drin. Ich möchte jetzt alle Datei- und Verzeichnis-Pfade aus der Liste holen und sie mit den Pfaden auf der Festplatte vergleichen.
Wenn ein Pfad aus der Liste nicht mehr auf der Festplatte vorhanden ist, fliegt dieser Pfad aus der Liste raus. Deswegen ist es mir so wichtig, genau zu erkennen ob es ein Pfad ist oder nicht und dann den Vergleich durchzuführen.

Habt ihr andere Ansätze als den Pfad per RegEx zu erkennen?
(System.IO.Path.IsPathRooted) bringt mich leider nicht weiter, es gibt auch true zurück, wenn der Pfad mit ", 10" endet, wie bei "C:\WINDOWS\system32\mscomct2.ocx, 10".

partyboy

08.01.2006 - 17:23 Uhr

Hi,

ich versuche mich grade an einem Regulären Ausdrück zur Überprüfung von gültigen (absoluten) Pfaden. Zum einen Verzeichnis-Pfade, z.B. "C:\test", zum anderen Datei-Pfade, z.B. "C:\test\hallo.txt". Ich möchte also testen, ob ein String ein gültiger Verzeichnis- oder Datei-Pfad ist.

Mein bisheriger RegEx ist folgender:


^[A-Za-z]:\\.

Der Anfang muss ein Buchstabe sein (Laufwerk). Dann kommt ein Doppelpunkt, dann ein Backslash und dann beliebige Zeichen. Vor dem Laufwerksbuchstaben darf nichts stehen.

Mein Ziel ist folgendes. Ich möchte testen ob Verzeichnis-Pfade oder Datei-Pfade noch existieren.
Bevor ich aber mit File.Exists() die Pfade prüfe, möchte ich solche Pfade von der Prüfung ausschließen:

"C:\WINDOWS\system32\mscomct2.ocx, 10"
"C:\WINDOWS\system32\msvbvm60.dll\3"

Ich will NICHT den richtigen Pfad aus z.B. "C:\WINDOWS\system32\msvbvm60.dll\3" extrahieren, mir reichts, wen ich wüsste, dass es kein gültiger Pfad ist, dann erspar ich mir gleich die Prüfung.

Kennt vielleicht jemand ne nützliche Seite mit den am häufigsten gebrauchten Regulären Ausdrücken? Ich hab im Internet keinen fertigen Regex für gültige Pfade gefunden.

Danke
partyboy

07.01.2006 - 17:31 Uhr

huch.

Object reference not set to an instance of an object.
bei string[] arrValNames = regKey.GetValueNames(); // alle Namen der Werte ins array

Die Exception kommt aber nur, wenn ich die Funktion Rekursiv aufrufe!

partyboy

07.01.2006 - 17:25 Uhr

Hi herbivore,

danke für die prompte Hilfe! 👍

Ich würde ja ganz naiv den rekursiven Aufruf von GetAllValuesNames so abändern:


arrResult.Add(getAllValues(hive,subKeyPath+arrSubKeyNames[i]+"/"));

Beim kompilieren wird aber immer diese Zeile angemeckert:

string[] arrValNames = regKey.GetValueNames(); // alle Namen der Werte ins array

PS: Um es leichter nachzuvollziehen, hier mal mein Testprojekt:

Benötigt wird:



using Microsoft.Win32; //für registry
using System.Collections; //für arraylist

Einen Button und eine textbox (multiline=true)


		void Button2Click(object sender, System.EventArgs e)
		{
			ArrayList Values=new ArrayList();
			Values=GetAllValues(Registry.CurrentUser,@"");
			for(int i=0;i<Values.Count;i++)
			{
				textBox1.Text+=Values[i]+System.Environment.NewLine;
			}
		}	
		
		ArrayList GetAllValues(RegistryKey hive, string subKeyPath)
		{			
			ArrayList arrResult = new ArrayList(); 		
			regKey = hive;
			regKey=regKey.OpenSubKey(subKeyPath);
			string[] arrValNames = regKey.GetValueNames();
			//alle values speichern
			for(int i=0;i<regKey.ValueCount;i++)
			{
				arrResult.Add(Convert.ToString(regKey.GetValue(arrValNames[i])));
				Application.DoEvents();
			}	
			string[] arrSubKeyNames = regKey.GetSubKeyNames();
			for(int i=0;i<regKey.SubKeyCount;i++)
			{
				arrResult.Add(GetAllValues(hive,subKeyPath+arrSubKeyNames[i]+"/"));
				Application.DoEvents();
			}
			return arrResult;
		}

partyboy

07.01.2006 - 16:44 Uhr

Hi,

ich möchte mir gerne alle Werte (Values) aus der Registry holen. Ich möchte mit eine Funktion bauen, bei der ich den Hive (also hkey_current_user, hkey_local_machine usw) und einen Start-Subkey angeben kann und die mir dann eine Liste aller Values zurückliefert.

Es sollen alle Values aus allen SubKeys geholt werden. Ich muss also jeden SubKey öffnen, die Values rausholen, schauen ob weitere SubKeys im aktuellen SubKey sind, falls ja, die ebenfalls öffnen usw...
Das geht wohl am Besten mit Rekursion.

Ich habe mich auch bereits daran versucht, leider klappts nicht ganz so, wie ich es gerne hätte.


		ArrayList getAllValues(RegistryKey hive, string subKeyPath)
		{			
			ArrayList arrResult = new ArrayList();	//arraylist für alle values	
			regKey = hive;
			regKey=regKey.OpenSubKey(subKeyPath); //tiefer ins verzeichnis eindringen, z.B. /Software...
			string[] arrValNames = regKey.GetValueNames(); // alle Namen der Werte ins array
			//alle values in einer arraylist speichern
			for(int i=0;i<regKey.ValueCount;i++)
			{
				arrResult.Add(Convert.ToString(regKey.GetValue(arrValNames[i])));
				Application.DoEvents();
			}	
			string[] arrSubKeyNames = regKey.GetSubKeyNames(); //alle subkey-namen, die im aktuellen subkey stecken, ermitteln
			for(int i=0;i<regKey.SubKeyCount;i++)
			{ //rekursiv aus jedem subkey alle values holen
				arrResult.Add(getAllValues(hive,arrSubKeyNames[i]+"/"));
				Application.DoEvents();
			}
			return arrResult; //her damit
		}

Alle Values aus EINEM SubKey zu holen klappt wunderbar, nur mit der Rekursion klappts bei mir noch nicht ganz.

Kann mir jemand sagen wie man es richtig macht?

Vielen, vielen Dank,
partyboy

18.12.2005 - 14:54 Uhr

Oh, gut zu wissen. Das werde ich dann beachten müssen.
Mal andersrum; weißt Du ob ein Control seinen handle wieder verliert, wenn ich zur Laufzeit die Eigenschaft visible=true zuteile?

partyboy

18.12.2005 - 14:39 Uhr

Hi herbivore,

ich hätte auch besser lesen sollen:

CreateControl does not create a control handle if the control's Visible property is false.

Der handle sollte mir ja relativ egal sein.

partyboy

18.12.2005 - 14:26 Uhr

Original von herbivore
Hallo partyboy,

wenn das Erzeugen der Controls das Problem ist (und nicht etwas das Zeichnen der Controls), dann müsste CreateControl was bringen. Beim Aufruf von new wird nur der .NET-Wrapper der Controls erzeugt. Das eigentlich Win32-Control wird erst beim Anzeigen erzeugt oder eben bei CreateControl. Deshalb wäre es auf jeden Fall ein Fortschritt. Ob es schon alles erschlägt, steht auf einem anderen Blatt.

BTW:

Erzwingt das Erstellen des Steuerelements, einschließlich des Handles und aller untergeordneten Steuerelemente.
Laut Doku müsste eigentlich Form.CreateControl reichen.

herbivore

Hi herbivore,

vielen Dank für Deine Antwort.
Ich werde es testen, sobald ich kann.
Eines wundert mich aber noch: Hier steht http://msdn2.microsoft.com/en-us/library/system.windows.forms.control.createcontrol.aspx dass ein Control nur vorgeladen werden kann, wenn es visible==true ist. Hier http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformscontrolclasscreatecontroltopic.asp steht nichts davon.

partyboy

18.12.2005 - 14:22 Uhr

Original von herbivore
Hallo partyboy,

willst du aus einem Programm heraus ein anders Programm mit Parametern starten oder willst du wissen, mit welchen Parametern das laufende Programm gestartet wurde?

Zu beiden Themen gabe es hier schon Threads.

herbivore

Hi,

ich möchte, dass mein WinForms-Programm mit Parametern gestartet werden kann. Es soll nämlich die Möglichkeit bestehen, mein Programm mit Windows zu starten, dabei soll es aber minimiert gestartet werden. Ich würde es also in den Autostart schreiben, mit einem Parameter.

Ich habe bisher nur diesen Beitrag gefunden Consolenprogramm mit parametern starten
Der mir aber leider nicht weitergeholfen hat.
Wie in meinem Codebeispiel zu sehen, habe ich probiert die Argumente abzufragen, es wird aber immer nur ein leerer String zurückgeliefert, egal wie ich das Programm starte.

partyboy

18.12.2005 - 13:52 Uhr

Hi,

ich möchte gerne mein eigenes Programm mit Parametern starten lassen.
Ich habe versucht die Parameter folgendermaßen abzufragen, was leider erfolglos blieb.


System.Diagnostics.ProcessStartInfo psi;
psi = System.Diagnostics.ProcessStartInfo();
MessageBox.Show(psi.Arguments);

Muss ich vorher noch irgendwie zuweisen, dass ich mein eigenes Programm abfragen möchte?

Vielen Dank für Eure Hilfe!

partyboy

18.12.2005 - 13:21 Uhr

Original von herbivore
Hallo partyboy,

geht es dir wirklich um das reine Erzeugen der Controls oder um das Füllen der Controls mit Daten?

herbivore

Hi,

es geht mir nur um das Erzeugen. Bei etwas langsameren, bzw. ausgelasteten Computern sieht man, wie sich die Controls aufbauen, obowohl es gar nicht so viele sind.

18.12.2005 - 02:00 Uhr

Hi,

ich suche nach einer Möglichkeit meine Steuerelemente auf dem Formular vorladen zu lassen, solange der Splashscreen angezeigt wird.
Nur wie mache ich das?

Es geht mir nur um die Controls, denn ich habe nur ein Formular, welches durch ein TabControl geteilt wird.

Würde dies was bringen?


foreach(Control c in MainForm.ActiveForm.Controls)
{
       c.CreateControl();
}

Ich kanns schlechte testen, ich hab mein Programm schon gestartet gehabt und momentan ist eh noch alles vorgeladen und schnell aufgebaut.

partyboy

18.12.2005 - 00:28 Uhr

Hi,

herbivore, dein Ansatz war schon richtig.
Wenn ich die Methode getCPU_Usage() in geringem Abstand hintereinander aufgerufen wird, liefert sie Null zurück.
Lösung meines Problems. Mein Timer ruft jetzt jede Sekunde nur eine Methode updateCpuUsage() auf, welche eine Variable itsCpuUsage zuweist. Mit getCPU_Usage() lass ich mir jetzt immer den Inhalt der Variable itsCpuUsage zurückgeben.

Wieder einmal vielen Dank herbivore!

17.12.2005 - 13:44 Uhr

Hi,

das Messintervall liegt bei einer Sekunde, wie beim Taskmanager.

Hier etwas Code:

	
//deklaration
protected PerformanceCounter cpuCounter;

//das steht im contructor der klasse	
cpuCounter = new PerformanceCounter();
cpuCounter.CategoryName = "Processor";
cpuCounter.CounterName = "% Processor Time";
cpuCounter.InstanceName = "_Total";

//methode zum holen der cpu-auslastung
public string getCPU_Usage()
{
	return Convert.ToString(cpuCounter.NextValue());
}

Gibt es noch andere Möglichkeiten die CPU-Last auszulesen?

Vielen Dank
partyboy

17.12.2005 - 13:01 Uhr

Hi,

ich lese die CPU-Last mit Hilfe des PerformanceCounters aus und es kommt oft vor, dass die Last kurz auf 0% sinkt und dann wieder auf normale Werte (die auch im Taskmanager angezeigt werden) steigt. Im Taskmanager erreicht die CPU-Last bei mir nie den Wert Null, minimal 2-3%.

Was kann ich dagegen tun? Wenn die CPU-Last fälschlicherweise auf 0% sinkt, wird bei meinem Programm ein Ereignis ausgelöst.

Ob der PerformanceCounter richtiger misst als der Taskmanager ist mir egal, falls es so ist. Ich brauche die Werte des Taskmanagers, bzw. Werte die nicht spontan auf 0% fluktuieren.

partyboy

11.12.2005 - 17:33 Uhr

Hi,

ich bin auf der Suche nach einem Freeware Obfuscator für .net-Anwendungen in C#. Ich habe leider keine Lizenz von Visual Studio 2003/2005 und kann somit auch nicht dessen Obfuscator benutzen.

Die Forensuche hat leider nur kostenpflichtige Programme hervorgebracht.
Gibt es (noch) keine kostenlosen Obfuscatoren?

partyboy

08.12.2005 - 22:59 Uhr

Hi,

ich möchte gerne in einem ContextMenu meines Tray-Icons einen Eintrag mit einer Checkbox hinzufügen, wie man es aus vielen Programmen her kennt. Es soll also möglich sein, einen Menüpunkt an- bzw. abzuhaken.

Wie kann ich das realisieren und was kann ich noch alles in das Kontextmenü bringen? Farbe? Buttons?

Vielen Dank!
partyboy

10.11.2005 - 22:24 Uhr

Hi,

ich möchte ein Formular mit abgerundeten Ecken, welches zusätzlich noch Transparenz besitzt.
Ich habe also eine Picturebox mit dem Aussehen des selbstgemachten Formulars.
Dem Formular hab ich einen Transparency-Key zugewiesen, damit die überstehenden Ecken durchsichtig werden. - Klappt auch gut.

Wenn ich jetzt aber noch den Opacity-Wert des Formulars ändere, sind auf einmal die Ecken des Formulars sichtbar.

Weiß jemand ob, und wie, man beides benutzen kann?

31.10.2005 - 08:05 Uhr

Hi,

hat denn keiner einen Vorschlag? Sonst ist es doch so einfach Speicherlecks zu erzeugen 😁

-partyboy

30.10.2005 - 21:35 Uhr

Hi,

achsoooo. Deswegen kommt da nur so wenig zusammen.
Wie gesagt, mein Ziel ist es soviel Speicher zu benutzen, dass andere Programme ausgelagert werden müssen. Mich interessiert wann die Programme wieder zurück in den Arbeitsspeicher wandern und wie schnell das ganze geht.

Deswegen suche ich nach einer schnellen Möglichkeit den Arbeitsspeichern zuzumüllen und natürlich auch wieder freizugeben 🙂

-partyboy