Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von pmSyS
Thema: [erledigt] Phänomen beim Anzeigen von UserControls
Am im Forum: GUI: Windows-Forms

"this.Visible=true" an der von dir genannten Stelle hat's gebracht...

Danke!

Grüße

Thema: [erledigt] Phänomen beim Anzeigen von UserControls
Am im Forum: GUI: Windows-Forms

Ok, danke erstmal.

Kann man die Form vom Gegenteil überzeugen?
Also, wie kann man da gegensteuern?

Das ist so sehr unschön...


Grüße
pmSyS

Thema: [erledigt] Phänomen beim Anzeigen von UserControls
Am im Forum: GUI: Windows-Forms

Ich habe jetzt gemerkt, dass wenn dieses Phänomen auftritt und ich das Hauptfenster minimiere und es über einen Doppelklick im Systray wieder vorhole, dieses Phänomen weg ist... ?!

8o ?(

WTF

Thema: [erledigt] Phänomen beim Anzeigen von UserControls
Am im Forum: GUI: Windows-Forms

Moin moin,

ich hab seit längerem wieder ein Problem, auf das mir Google keinen Lösungsansatz liefert...:

Ich habe ein Programm, dass seine Funktionalität über Plugins anbietet und im Systray minimiert werden kann.
Die Plugins werden dynamisch beim Start geladen.
Die geladenen Plugins werden mit ihrem Namen in ein Menü eingebunden, damit sie auswählbar werden.
Das Plugin gibt seinen Inhalt über ein UserControl preis; es wird beim Klick im Menü in ein Panel - im Hauptfenster der gesamten Anwendung - eingesetzt.

So weit, so gut -> funktioniert auch.

Nun war die Anforderung, dass, wenn das Prog minimiert ist und jemand es nochmal über die .exe starten will, die aktuelle Instanz nach Vorne geholt werden soll.
Das habe ich hiermit gelöst: C# Single Instance App With the Ability To Restore From System Tray (Using Mutex)

Jetzt das Phänomen:

1. Nach erstmaligem Start und nach ein paar Klicks im Menü (z.B. drei Plugins wurden nacheinander im Panel angezeigt) wird das Fenster minimiert.
2. Der Versuch das Programm nochmal zu starten führt dazu, dass die aktuelle Instanz nach vorne und aus dem Systray geholt wird.
3. Jetzt klicke ich auf Menüpunkte, die ich vor dem Minimieren nicht angezeigt habe -> Das Panel bleibt leer. Die, die ich zuvor angeklickt habe, werden weiterhin gezeigt, wenn sie ausgewählt werden.

Wenn ich das Prog.-Fenster über einen Doppelklick im Systray wieder vorhole, gibt es dieses Phänomen nicht.

Ich hab mal die Stelle debuggt, aber es ist weder irgendwie etwas null oder anders, als bei denen, die angezeigt werden:


public void changeContent(IPlugin plg)
        {
            pContent.Controls.Clear();
            UserControl uc = plg.MainUserControl;
            uc.Width = pContent.Width;
            uc.Height = pContent.Height;
            uc.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
            uc.BackgroundImage = global::M_Web_Analyzer.GUI.Properties.Resources.MWeb_bg;
            pContent.Controls.Add(uc);
            //pContent.Refresh();
            core.ActivePlugin = plg;
            this.tiOptPlugin.Visible = true;
        }

Ich weiß grad nicht, warum die userControls nicht angezeigt werden, obwohl sie dem Panel hinzugefügt werden.

Ein "pContent.Refresh()" + Invalidate und Update habe ich schon versucht.


Ich hoffe, ihr könnt mir ein Paar Denkanstöße geben und dass ich mich bei der Problembeschreibung verständlich ausgedrückt habe.

Grüße

Thema: Check, ob start aus Netzwerk
Am im Forum: Netzwerktechnologien

ok, danke erstmal.

Werd das mal ausprobieren.

Thema: Check, ob start aus Netzwerk
Am im Forum: Netzwerktechnologien

Moin Leute,

erstmal ein frohes neues Jahr 2009!

Nun meine Frage: Ist es möglich beim Programmstart herauszubekommen, ob das Programm von eine Netzlaufwerk oder der lokalen Platte gestartet wurde?

Danke.


Gruß
PmSyS

Thema: Fensterbreite fixieren
Am im Forum: GUI: Windows-Forms

Danke, das war der richtige Anstoss.

Ich hab jetzt:


public MainForm()
{
	...
	this.MaximumSize = new Size(this.Width, Screen.PrimaryScreen.WorkingArea.Height);
		
	init();
}

Guß
pmSyS

Thema: Fensterbreite fixieren
Am im Forum: GUI: Windows-Forms

Moin Leute,

gibt es eine Möglichkeit, die Breite eines Fensters festzulegen, wobei die Höhe variabel bleibt?

ich hab das so versucht:


private Point currMousePos;


void MainFormResizeBegin(object sender, EventArgs e)
{
	currMousePos = Cursor.Position;
}

void MainFormSizeChanged(object sender, System.EventArgs e)
{
	this.SuspendLayout();
	Cursor.Position = new Point(currMousePos.X, MousePosition.Y);
	this.ResumeLayout();
}

Es funzt, nur gibt es einen unschönen Schleier beim Verändern der Breite, weil die Breite doch geändert wird und dann gleich wieder in die Ausgangsposition gesetzt wird...
Gibt es eine Möglichkeit, den Mauszeiger in x-Richtung zu blockieren?

Gruß
pmSyS

Thema: SQL Server 2005 SP2
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hmm, schade.
Muss dann nochmal 289mb runterladen.

Trotzdem danke.

Thema: SQL Server 2005 SP2
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Wenn ich theoretisch die Sprache auf deutsch umstellen wollte, müsste ich dann den deutschen Server installieren? Oder gibt es da Sprachpakete?

Thema: SQL Server 2005 SP2
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Moin Leute,

ich hab bei mir zu Hause den SQL-Server 2005 standard in englischer Version laufen.

Jetzt hab ich das SP2 in deutsch runtergeladen. Beim Versuch das Update aufzuspielen, wurde mir gesagt, ich solle das englische Update runterladen und dies installieren.
Wie kann ich das SP2 überreden, doch das Update durchzuführen?
Ich hab zu hause eine schwache Leitung und will es ungern noch einmal in der Arbeit runterladen...

Greetz
pmSyS

Thema: ToolStripTextBox mit Autocomplete
Am im Forum: GUI: Windows-Forms

Moin,

ich hab nicht viel zu dem Thema gefunden.
Es scheint aber nur dann nicht zu funktionieren, wenn


this.suchen.AutoCompleteSource 
Elemente zugewiesen bekommt, die Angezeigt werden.

Ich hab das erstmal weggelassen. Geht auch so.

Thema: ToolStripTextBox mit Autocomplete
Am im Forum: GUI: Windows-Forms

Moin Leute,

bin nach längerer Abwesendheit wieder da und hätte gleich eine Frage:

Ich habe in einem MenuStrip eine ToolStripTextBox, die ich zur Suche verwenden will.
Zur Info: Das Suchergebnis markiert einen Eintrag in einer ListBox.
Dem Benutzer soll eine Autocomplete-Funktion zu Seite stehen.

Im 2.0 Framework gibt es die Möglichkeit in Combo, TextBoxen, ... die Autocomplete-Funktion zu verwenden:


...
this.suchen = new System.Windows.Forms.ToolStripTextBox();
this.suchen.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
this.suchen.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource;

IEnumerator ie = ((MessageBundle)resource.BundleContainer[resource.getFirstLocale()]).getKeys().GetEnumerator();
while(ie.MoveNext())
{
	suchen.AutoCompleteCustomSource.Add((string)ie.Current);
}
...

Das ganze funktioniert auch.

Jetzt mein Problem: Ich reagiere auf den "Return" vom Benutzer und fange dann an zu suchen. Das funktioniert so lange wie die ich die Autocomplete-Eigenschaften noch nicht aktiviert habe. Im obigen Fall funktioniert es nicht mehr. Der Return wird nicht abgefangen. Alle anderen Zeichen komischerweise schon...

Habe ich etwas übersehen? Momentan bin ich noch am Bahnhof...

Danke für Anregungen.

Gruß
pmSyS

Thema: Fester ohne Titelleiste bewegen
Am im Forum: GUI: Windows-Forms

@Traumzauberbaum:

Danke, hab es mir mal angesehen. Werde bei der obigen Lösung bleiben.

Thank Folks!

Thema: Fester ohne Titelleiste bewegen
Am im Forum: GUI: Windows-Forms

Danke,

hab grad beim Googlen auch eine Antwort gefunden:


private void EM_MouseMove(object sender, MouseEventArgs e)
{
     if (e.Button == MouseButtons.Left)
     {
          mousePos = Control.MousePosition;
          mousePos.Offset(mouse_offset.X, mouse_offset.Y);
          Location = mousePos;
     }
}

private void EM_MouseDown(object sender, MouseEventArgs e)
{
      mouse_offset = new Point(-e.X, -e.Y);
}

Thema: Fester ohne Titelleiste bewegen
Am im Forum: GUI: Windows-Forms

Moin Leute,

ich habe die Titelleiste meines Fensters ausgeblendet:

this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;

Nun kann ich das Fenster nicht mehr in seiner Position verändern.
Was muss ich tun, um es dennoch bewegen zu können?


Greetz
pmSyS

Thema: bitstream in bytestream konvertieren
Am im Forum: Rund um die Programmierung

Hmm,

wenn ich mir das jetzt nochmal durchlese, dann fällt mir auf, dass ich vor lauter Bäumen den Wald nicht gesehen habe.

Ist ja klar, dass ein Byte nicht gleich Int ist.
Daher würde das jatzt passen.

Danke für die Erleuchtung...


Gruß
pmSyS

Thema: bitstream in bytestream konvertieren
Am im Forum: Rund um die Programmierung

@herbivore

Ich habs mal probiert, aber da kommt eine Zahl raus, manchmal mehrstellig.
Ich möchte aber aus diesen 8 Bit genau 1 Byte machen.

Ich nahme an, dass ich da nicht um logische Operatoren herumkomme...

Ich hab mit diesen aber noch nie gearbeitet...


Gruß

Thema: bitstream in bytestream konvertieren
Am im Forum: Rund um die Programmierung

Moin Leute,

hab da ein Problem mit einer Konvertierung:

Ich habe einen String mit bits: "01101100011101001...".
Ich möchte jeweils 8 Bits zu einem Byte zusammenfassen.
Wie geht das?

01101100 = Byte
01110100 = Byte
....

Vielleicht ist das ja ganz easy, aber ich komm da nicht drauf...


Danke.
pmSyS

Thema: Vertikale Textausrichtung
Am im Forum: Grafik und Sound

Richtig,
darauf bin ich nicht gekommen.


Danke.

Thema: Vertikale Textausrichtung
Am im Forum: Grafik und Sound

Moin Leute,

ist es möglich, einen Text um 90° gegen den Uhrzeigersinn zu drehen?
mit "SringFormatFlags.DirectionVertical" kann ich ihn um 90° im Uhrzeigersinn drehen.
Ich hab auch schon mit "GraphicsPath" der "System.Drawing.Drawing2D"-Klasse versucht. Nur da kann man bei einer Schriftgröße von 8 den Text nicht mehr lesen.

Geht das nicht noch anders?


Danke.

Gruß
pmSyS

Thema: Firebird Fehlermeldung
Am im Forum: Datentechnologien

Ha!

Ich hab den Fehler gefunden.
Aus mir nicht ersichtlichen Gründen hat VS die Parameterzuordnung der Insert, Update... Commands gelöscht.

Das war einfach bei allen DataAdaptern weg:


this.oleDbUpdateCommand3.Parameters.Add(new FbParameter("ID", FbDbType.BigInt, 0, "ID"));

Gruß
pmSyS

Thema: Firebird Fehlermeldung
Am im Forum: Datentechnologien

Ich hab die v1.5.
Es hat ja mal funktioniert. Ich werd jetzt mal auf Fehlersuche gehen, denn es kann eigentlich nur eine Kleinigkeit sein, die dazu führte.

Thema: Firebird Fehlermeldung
Am im Forum: Datentechnologien

Ich hatte vorher eine OleDb-Verbindung zu Access.
Ich hab alles bis auf die Namen der Variablen geändert.
Es hat ja funktioniert mit FB.

Am Montag mache ich nochmal Fehlersuche, da der Fehler ja irgendwo zwischen Prog. und DB liegen muss.
Denn wenn ich den normalen FB-Server benutze, dann habe ich keine Probleme über FlameRobin Daten in die DB einzufügen.
Ich versuch mal im Prog. auf den normalen Server umzustellen; mal sehen, ob es dann funzt.

Thema: Firebird Fehlermeldung
Am im Forum: Datentechnologien

Ich glaube nicht, dass der Source dir hilft, da es ja funktioniert hat, und ich an den Stellen nichts verändert habe...


private void speichern()
		{
			try
			{
				this.oleDbConnection1.Open();
				trans = this.oleDbConnection1.BeginTransaction();

				using(FbCommand delCMD = new FbCommand("DELETE FROM header;", this.oleDbConnection1))
				{
					delCMD.Transaction = trans;
					delCMD.ExecuteNonQuery();
					delCMD.CommandText = "DELETE FROM pruefung;";
					delCMD.ExecuteNonQuery();
					delCMD.CommandText = "DELETE FROM kommentar;";
					delCMD.ExecuteNonQuery();
					delCMD.CommandText = "DELETE FROM fehler;";
					delCMD.ExecuteNonQuery();		
					trans.Commit();
				}

				trans = this.oleDbConnection1.BeginTransaction();

				this.oleDbInsertCommand1.Transaction = trans;
				this.oleDbInsertCommand2.Transaction = trans;
				this.oleDbInsertCommand3.Transaction = trans;
				this.oleDbInsertCommand4.Transaction = trans;
				this.oleDbInsertCommand5.Transaction = trans;

				this.oleDbUpdateCommand3.Transaction = trans;
				this.oleDbUpdateCommand4.Transaction = trans;

				this.statusPanel1.Text = "Speichere Header-Daten";
//				for(int i=0; i<datas.Tables["header"].Rows.Count; i++)
//				{
//					Console.WriteLine(datas.Tables["header"].Rows[i][0] + ";" + datas.Tables["header"].Rows[i][1] + ";" +datas.Tables["header"].Rows[i][2] + ";" + datas.Tables["header"].Rows[i][3] + ";" +datas.Tables["header"].Rows[i][4] + ";");
//				}
				this.dbHeader.Update(datas.Tables["header"]);  //Da "knallts"
				this.statusPanel1.Text = "Speichere Prüfung-Daten";
				this.dbPruefung.Update(datas.Tables["pruefung"]);
				this.statusPanel1.Text = "Speichere Kommentar-Daten";
				this.dbKommentar.Update(datas.Tables["kommentar"]);
				this.statusPanel1.Text = "Speichere Fehler-Daten";
				this.dbFehler.Update(datas.Tables["fehler"]);
				this.statusPanel1.Text = "Bereit";

				trans.Commit();
			}
			catch(Exception e)
			{
				MessageBox.Show(e.Message,"Fehler!",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Error);
			}
			finally
			{
				this.oleDbConnection1.Close();
			}
		}

Der header sieht so aus:


header.Columns.Add("IDvon",System.Type.GetType("System.Int64"));
			header.Columns.Add("IDbis",System.Type.GetType("System.Int64"));
			header.Columns.Add("DatumVon",System.Type.GetType("System.String"));
			header.Columns.Add("DatumBis",System.Type.GetType("System.String"));
			header.Columns.Add("Linie",System.Type.GetType("System.String"));

Connection String:


FbConnectionStringBuilder conStr = new FbConnectionStringBuilder();
				conStr.Database = @".\temp.fdb";		
				conStr.UserID = "xxx";
				conStr.Password = "xxx";
				conStr.Dialect = 3;
				conStr.ServerType = 1;
				this.oleDbConnection1.ConnectionString = conStr.ToString();

und hier noch die FBConnection-Einstellung:


// 
			// dbHeader
			// 
			this.dbHeader.InsertCommand = this.oleDbInsertCommand1;
			this.dbHeader.SelectCommand = this.oleDbSelectCommand1;
			this.dbHeader.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
																							   new System.Data.Common.DataTableMapping("Table", "Header", new System.Data.Common.DataColumnMapping[] {
																																																		 new System.Data.Common.DataColumnMapping("DatumBis", "DatumBis"),
																																																		 new System.Data.Common.DataColumnMapping("DatumVon", "DatumVon"),
																																																		 new System.Data.Common.DataColumnMapping("IDbis", "IDbis"),
																																																		 new System.Data.Common.DataColumnMapping("IDvon", "IDvon"),
																																																		 new System.Data.Common.DataColumnMapping("Linie", "Linie")})});
			

Thema: Firebird Fehlermeldung
Am im Forum: Datentechnologien

Mahlzeit Leute,

Ich bin jetzt fertig mit meiner Programm und muss feststellen, dass Firebird mir eine Fehlermeldung gibt, mit der ich nicht viel anfangen kann. (Siehe Bild)

Was ist da schiefgelaufen?
Ich hab zum Schluss nur noch ein Konsolen-Prog. geschrieben, das die DB-Datei schrumpft (Backup/Restore), da ich es als Embedded einsetze.
Seitdem ich das Prog. mal ausgeführt habe, will mein Hauptprog nicht mehr...
Hab auch versucht, die DB komplett neu aufzubauen mit FlameRobin, aber das hat auch nix genüzt.
Gestern hat es noch funktioniert und ich habe seitdem nichts mehr am Hauptprogramm gemacht, ausser das MainMenu ein bisschen anzupassen.

Hilfee!!

Thema: Verbindung mit Access
Am im Forum: Datentechnologien

Hmm,

ich hab da schon ein wenig rumgegoogelt, aber nichts passendes zu Firebird und Indizes gefunden.

Und ich nehme an, dass jede DB ein wenig anders im Aufbau der Indizes ist.

Kennt jemand eine gute Doku. für Firebird und Indizes?
Auf deren Seite hab ich auch nichts gescheites gefunden.

Thema: Verbindung mit Access
Am im Forum: Datentechnologien

Sorry, hab mich falsch ausgedrückt.
Ich meinte nur Abfragen von der DB mit "SELECT...".
Die würde ich noch schneller haben wollen...

Thema: Verbindung mit Access
Am im Forum: Datentechnologien

Ich muss noch einmal ansetzen und korregieren:

Firebird ist mit einer Transaktion wesentlich schneller als Access.
Hab es damals wohl nicht mit einer Transaktion gemacht...

Ich muss aber anmerken, dass eine Abfrage, je nach Anzahl Daten, doch schon ein paar Sekunden dauert.
Da nützt aber eine Transaktion nichts, zumindest habe ich keine Steigerung festgestellt.

Kann man die "Abfrage"-Geschwindigkeit vielleicht noch ein wenig tunen? Weiss da jemand etwas?


Gruß
pmSyS

Thema: Prüfen, ob Framework vorhanden
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat
Um zu prüfen, ob irgendein Framework installiert ist, überprüfen, ob die Datei C:\Windows\System32\mscoree.dll existiert.

Stimmt, wenn das Framework nicht installiert ist, dann wird eine Fehlermeldung ausgegeben, dass diese Datei fehlt.

Vielen Dank für die Infos.


Gruß
pmSyS