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 Franknstein
Thema: Steuerelemente innerhalb eines Usercontrols dynamisch anorden können
Am im Forum: GUI: Windows-Forms

Bau dir doch eine Funktion, welche dir für alle Controls die Eigenschaften niederschreibt:
(Dann lädst du eine Version deines Controls, rückst die Controls zureckt im Designer und lässt das XML schreiben. Dannach kannst du ja wieder deine Allgemeinversion mit dem XML verwenden)


System.Text.StringBuilder builder = new System.Text.StringBuilder();
builder.Append("<!-- Dein XML-Header -->");
builder.Append("<Controls>");
foreach(Control c in this.Controls)
{
	builder.AppendFormat("<{0} X='{1}' Y='{2}' W='{3}' H='{4}'>{5}</0>", c.Name, c.Location.X, c.Location.Y, c.Width, c.Height, c.Text);
}
builder.Append("</Controls>");
Natürlich ist dies nur der allergröbste Beispielcode.....

Thema: Steuerelemente innerhalb eines Usercontrols dynamisch anorden können
Am im Forum: GUI: Windows-Forms

Du könntest die Eigenschaften, welche die Controls haben, in einer XML-Datei abspeichern. Dann erstellst du die Controls im Designer und weißt ihnen dann beim Programmstart die Eigenschaften wie Position, Größe, Sichtbarkeit etc. zu, welche du aus der XML-Datei geladen hast.

Natürlich könntest du auch die Controls dynamisch nach den XML-Dateien erstellen lassen, aber das währe halt ein etwas größerer Aufwand.....

Thema: ComboBOX ohne databinding
Am im Forum: GUI: Windows-Forms

Meinst du vielleicht sowas in der Richtung?


using System;
using System.Drawing;
using System.Drawing.Text;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace ColorListBox
{
	public class Form1 : System.Windows.Forms.Form
	{
		private System.Windows.Forms.ComboBox lstColor;
		private string []data;
		private Color []color;

		private System.ComponentModel.Container components = null;

		public Form1()
		{
			InitializeComponent();
			data= new String[10]{"Red","Blue","Green","Yellow","Black",
								"Aqua","Brown","Cyan","Gray","Pink"};
			lstColor.DataSource= data;
			color= new Color[10]{Color.Red,Color.Blue,Color.Green,Color.Yellow,Color.Black,
							   Color.Aqua,Color.Brown,Color.Cyan,Color.Gray, Color.Pink};
		}

		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if (components != null) 
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}

		#region Windows Form Designer generated code
		private void InitializeComponent()
		{
			this.lstColor = new System.Windows.Forms.ComboBox();
			this.SuspendLayout();
			this.lstColor.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;
			this.lstColor.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
			this.lstColor.Font = new System.Drawing.Font("Microsoft Sans Serif", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.lstColor.Location = new System.Drawing.Point(8, 16);
			this.lstColor.Name = "lstColor";
			this.lstColor.Size = new System.Drawing.Size(272, 31);
			this.lstColor.TabIndex = 0;
			this.lstColor.MeasureItem += new System.Windows.Forms.MeasureItemEventHandler(this.MeasureItemHandler);
			this.lstColor.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.DrawItemHandler);
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.ClientSize = new System.Drawing.Size(288, 273);
			this.Controls.Add(this.lstColor);
			this.Name = "Form1";
			this.Text = "ColorListBox Demo by Sanjay Ahuja";
			this.ResumeLayout(false);
		}
		#endregion

		[STAThread]
		static void Main() 
		{
			Application.Run(new Form1());
		}

		private void DrawItemHandler(object sender,  DrawItemEventArgs e)
		{
			e.DrawBackground();
			e.DrawFocusRectangle();
			//e.Graphics.DrawString(data[e.Index],new Font(FontFamily.GenericSansSerif, 14, FontStyle.Bold),new SolidBrush(color[e.Index]),e.Bounds); Den Text willst du ja nicht
	
		}
		private void MeasureItemHandler(object sender, MeasureItemEventArgs e)
		{
			e.ItemHeight= 22;
		}
	}
}
Kannst du als ID nicht den Index der Items verwenden?

Thema: Datentyp überprüfen
Am im Forum: GUI: Windows-Forms

Dort wo du testen willst, ob nur Zahlen eingetragen sind:


try
{
     Convert.ToInt32(deineTextBox.Text)
}
catch(Exception)
{
     e.Handle = false; // e oder wie auch immer deine Eventvariable heißt
}

Oder du fängst den Keypressevent ab, und dann machst du(womit du verhinderst, dass Nichtzahlen nicht eingetragen werden)

if ("1234567890\b".IndexOf(e.KeyChar.ToString())<0)
     e.Handled = true;

Thema: Connection Pooling
Am im Forum: Datentechnologien

Huch...
Dann ist das bei JDBC wohl was anderes(oder ich kann warscheinlich kein Englisch)

Zitat
Connection pooling is a technique of creating and managing a pool of connections that are ready for use by any thread that needs them.

This technique of "pooling" connections is based on the fact that most applications only need a thread to have access to a JDBC connection when they are actively processing a transaction, which usually take only milliseconds to complete. When not processing a transaction, the connection would otherwise sit idle. Instead, connection pooling allows the idle connection to be used by some other thread to do useful work.

In practice, when a thread needs to do work against a MySQL or other database with JDBC, it requests a connection from the pool. When the thread is finished using the connection, it returns it to the pool, so that it may be used by any other threads that want to use it.

Thema: Connection Pooling
Am im Forum: Datentechnologien

Wenn du eine Datenbankverbindung in deinem Programm verwendest, dann führst du ja nicht pernament Transaktionen durch. Die restliche Zeit, wenn du zwar zur Datenbank verbunden bist, aber keine Transaktionen durchführst, dann ist deine Verbindung "IDLE"... Das Connectionpooling erlaubt es also, eine Verbindung die IDLE ist, von einem anderen Thread aus zu verwenden um Transaktionen durchzuführen. Damit soll man angeblich den Datenbankserver schonen.

Wie das genau mit der Anwendung gemeint ist, ist mir nicht so ganz klar. Warscheinlich meinen die, dass man den Datenbankzugriff in eine (statische) Klasse kapseln soll. Diese Klasse würde dann im Konstruktor eine Datenbankverbindung öffnen, und später auch wieder schließen....


--
mfg
Franknstein

Thema: c# editor
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat
Original von cdr
MS Visual C# 2005 Express Beta
Hat der nicht noch ein paar Bugs?

Thema: Directory.Move() - Datenträgerübergreifend?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Die IO-Exception sagt aus, dass man nicht von einer Festplatte mit dieser Funktion auf eine andere Festplatte Dateien verschieben kann. Ob das wirklich so ist, oder warum das so ist, weiß ich nicht.
Warum willst du denn die Dateien nicht rekursiv verschieben?

Thema: XP-Style
Am im Forum: GUI: Windows-Forms

Kann man irgentwie die VisualStyles wieder deaktivieren? (Außer Anwendung neu starten und die VisualStyles nicht aktivieren)

--
mfg
Franknstein

Thema: C#-Referenzen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

http://www.galileocomputing.de/openbook/csharp/

Thema: DLL beim Kompilieren in die .exe reinnehmen und verwenden?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Genau so heißt des....

Thema: DLL beim Kompilieren in die .exe reinnehmen und verwenden?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Irgent wer (ich meine es war NoOneKnows) hat mal in einem Post geschrieben, dass cdr einen Assemblyzusammenpacker erwähnt habe, mit dem man DLLs in ein Assembly mit einpacken könne.
Leider kenne ich den Link und Beitrag dazu nicht mehr.....

--
mfg
Franknstein

Thema: DataGridView Daten eingeben und spaltenbreite ändern
Am im Forum: GUI: Windows-Forms

Ja, das kann ich dir kurz beschreiben:
Du legst ein DataGridTableStyle mit DataGridColumnstyles an. Wie das genau geht, kannst du der MSDN entnehmen, ich kann jetzt kein Beispiel anführen, denn ich muss gleich weg

--
mfg
Franknstein

Thema: Fehler in einer externen Komponente?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Also, wenn ich eine neue Datenbankverbindung mit neuem Tabbed und so weiter anlege, dann crasht das Programm wenn ich eine zweite Verbindung aufbauen will:
Das Programm macht folgendes beim Verbindungsaufbau:

-Datenbankverbindung erzeugen und global in eine ArrayList legen
-Ein neues Tab anlegen
-Ein Usercontrol laden, und im neu angelegten Tab anzeigen
-Das Usercontrol fürt einen Show auf die Datenbank aus, um die Datenbanken herauszufinden
-Die Datenbanken werden in ein Listview gepackt

Und alles das wird fehlerfrei abgearbeitet!

Ok, dann werde ich das mal mit Win2000 am Montag testen!

Besten Dank für deine Hilfe


--
mfg
Franknstein

Thema: Performance Programm
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Meinst du, dass das die Lösung ist?
Wie groß sind denn die Datenmengen, die du so in das Dataset schaufelst?
(Ich will dir helfen das zu lösen, denn eine ähnliche Aufgabe könnte auch bald auf mich zu kommen.)

--
mfg
Franknstein

Thema: Fehler in einer externen Komponente?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Besten Dank für deine Hilfe!
Der Fehler kommt seltsamerweise nur dann, wenn ich eine Aktion(Verbindung herstellen) ein zweites Mal ausführe. Das heißt dass der Fehler irgentwo beim zweiten Ausführen auftritt.
Des weitern heißt dass, das ich mal ein bisschen auskommentieren muss!

Kann der Fehler damit zusammenhängen, dass ich von VS2001 auf VS2003 umgestiegen bin. Oder damit dass ich von Win2k auf WinXP upgegraded habe?
Mit .net2001 und Win2000 hat ja noch alles funktioniert.

--
mfg
Franknstein

Thema: Fehler in einer externen Komponente?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Was zählt denn überhaupt alles als externe Komponente?
Ich verwende irgentwelche Forms, UserControls, Controls und die MagicDockingLibrary(kann ich zimlich sicher ausschließen, denn die habe ich komplett auskommentiert).

edit 1, 2:
Rechtschreibfehler wurden entfernt von mir

--
mfg
Franknstein

Thema: Fehler in einer externen Komponente?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich bekomm hier folgenden Fehler den ich mir garnicht erklären kann:

Zitat
An unhandled exception of type 'System.Runtime.InteropServices.SEHException' occurred in system.windows.forms.dll

Additional information: External component has thrown an exception.
Ich habe schon überall im Programm Debugausgaben gemacht und alle werden ordnungsgemäß angezeigt/abgearbeitet. Daher weiß ich nicht wo der Fehler auftritt. Der Debugger stoppt in der Appcation.Run(). Ein Try-Catch um die Application.Run fördert nur zu Tage, was ich eh schon weiß:
Der Fehler tritt laut Stacktrace in der Run-Methode auf.

Ich vermute daher, dass die Exception irgentwo in der Nachrichtenschleife fliegt. Kann das überhaupt sein? Was könnte ich gegen diesen Fehler tuen?



--
mfg
Franknstein

Thema: microsoft mal wieder
Am im Forum: Smalltalk

Zitat
Original von ernie04
Also, ich weiss ja nicht, aber die Sicherheitsinformationen werden ja auch von Microsoft auf der Website gepostet und da gibbet dann auch einen Link, um den Bugfix zu installieren. Wo ist das Problem? Vor alem mit SP2 ist der IE um einiges besser geworden.

Ich frag mich manchmal, warum Computerleute Windows einsetzen, wenn Sie die ganze Zeit nur darüber meckern... *kopfschüttel*

Ich würde sofort und augenblicklich auf Linux umsteigen, währe es besser. Aber wenn man nicht über ein Produkt meckert und schimpft, dann wird das nie bssser.

Ja, der IE ist mit dem SP2 wohl besser geworden, aber wenn ich mir den Updateprozess ansehe, dann wird mir übel. Gegen die Webseite habe ich ja überhaupt garnichts auszusetzen, aber dass man sich dann durch eine rieseige Sammlung an Updates kämpfen muss, wenn man die Updates nicht zwei Tage lang herunterladen will, ist ja das allerletzte.

Ok, es gibt noch das Autoupdate......
--
mfg
Franknstein

Thema: seiten parsen
Am im Forum: Web-Technologien

Eigentlich solle das mit System.XML möglich sein....


--
mfg
Franknstein

Thema: microsoft mal wieder
Am im Forum: Smalltalk

Zitat
Original von seth
Zitat
Nimm Mozilla ist eh viel besser. Man kann ohnehin alles ersetzen bei Windows wenn man unbedingt will.

...
...
mozilla und co sind ja bewiesenermaßen auch net BUGFREI ;-) ...

Ja, aber es kommt auf der Webseite von mozilla.org eine Warnmeldung, dass der Browser eine Sicherheitslücke hat, und man bitte auf einen Link klicken soll um ein Update zu installieren. Wenn man auf den Link klickt, dann kommt eine dicke rote Warnmeldung, die man erst nach 5 sek anklicken kann, dass es potenziell gefährlich ist, diese Pakete auszuführen, und ob man sich wirklich sicher ist, dass man das tuen will. Da klickt man auf OK, das Update wird installiert, dann noch den Browser neu gestarten und alle bekannten Bugs sind entfernt.

Also nach meiner Meinung ist der Mozzi der beste Browser. Der Opera ist Spielzeug und den IE kann man wegen den Sicherheitslücken in die Tonne geben, falls man nicht immer mal updaten will!
--
mfg
Franknstein

Thema: javascript-array mit C#
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wie der HTML-Output zu bewerkstelligen ist, kann ich dir nicht sagen. Aber das wist du selber wissen:


string array = "var deinarray = new Array(";

while(deinDataReader.Read())
{
  array += string.Format("\"{0}\"", deinDataReader.GetString(0));
}
array = array.Substring(0, array.Length - 1); //Kann auch -2 sein, musst du probieren
array += ");";

Das Substring entfernt das letzte Komma


--
mfg
Franknstein

Thema: Gott oder nicht Gott
Am im Forum: Smalltalk

Ich glaube nur, dass im .net-Framework nach jedem malloc ein free kommt aber dennoch ist die Kirche wichtig. (Zur allgemeinen Belustigung wenn an der Kirb wieder alle bombenvoll sind z.B. oder für die Amis, damit sie einen Vorwand haben die Islamisten auszubomben)

Ob es außerirdisches Leben gibt, ist mir relativ egal. Aber niemand wird irgentwann einmal behaupten können, dass es keine Außerirdischen gibt.

--
mfg
Franknstein

Thema: Problem: C++ to C#
Am im Forum: Basistechnologien und allgemeine .NET-Klassen


p[0] = (clr >> 16) & 0xff;
Was bringt der Indexoperator hinter dem p? Gehen kann das ja wohl nicht, denn du kannst nicht dem ersten Arrayteil eines nicht vorhandenen Arrays einen Wert geben.

Was würde passieren, wenn du aus dem p[0] ein p machst?


--
mfg
Franknstein

Thema: Was ist ein Interface
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Du nimmst interfaces nur dann wenn du sie brauchst. Du brauchst sie zum Beispiel, wenn du forderst, wie Klassen aufgebaut sein müssen. Das kannst du zum Beispiel gut Plugins mit realisieren. Plugin laden -> ins Interface casten und dann die entsprechenden Methoden aufrufen. Dazu gibt es hier schon ein paar Themen.

Aber meist verwendet man Interfaces zur Komunikation zwischen Klasseninstanzen. Also stell dir vor, du hast zwei Fenster in deinem Programm. Dann implementiert das Fenster 1 ein Interface und gibt dem Fenster 2 eine Instanz des Interfaces. Dann kann Fenster2 die im Interface definierten Methoden aufrufen. (Und damit zum Beispiel dafür sorgen, dass das Fenster1 sich schließt....)

--
mfg
Franknstein

Thema: Was ist ein Interface
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Also,
Interfaces sind in erster Linie eine Beschreibung vom Mindestaufbau einer Klasse, die ein Interface "implementiert". Also erbt diese Klasse dieses Interface und implementiert die im Interface festgesetzten Funktionen und Felder. Dazu ein Beispiel:


interface IView
{
  void PrintTokens(string Tokens);
  string GetTokens();
}

class Test : IView  //Muss alle Methoden aus IView implementieren
{
  //...
  void main(object args[])
  {
   //
  }
  private void PrintTokens(string Tokens)
  {
     Console.WriteLine(Tokens);
  }

  public string GetTokens() //Ich mach die Implementationen immer public, ka ob man   das muss
  {
    return Console.ReadLine();
  }
}

Nun kann man damit aber noch mehr machen, nämlich von einer Klasse mittels eienr Interfaceinstanz eine Funktion in einer anderen Klasse aufrufen, die eine Instanz der ersten Klasse besitzt:

interface IView
{
  void WriteMsg(string Msg);
}

class Test1 : IView
{
  public void main
  {
     Test2 t = new Test2((IView) this);
  }

  public  WriteMsg(string Msg)
  {
     Console.WriteLine(Msg);
  }
}

class Test2
{
  Test2(IView interface)
  {
     interface.WriteMsg("Hallo in Klasse Test1");
  }
}
In Test1 implementiere ich ein Interface. Denn rufe ich irgentwo in Test1 eine Funktion auf, die Test2 instanziiert. Dabei wird dem Konstruktor ein in das Interface gecasteter this mitgegeben, damit man aus der Test2 auf die Interfaceimplementationen in Test1 zugreifen kann.

Ok, das ist jetzt nicht sehr informativ, ich will das morgen überarbeiten, aber nun bin ich sooo müde
--
mfg
Franknstein

Thema: Online abfrage einer MySQL Datenbank
Am im Forum: Datentechnologien

Ich polle immer. Denn der einzige Nachteil des pollens ist der, dass man nicht sofort weiß, dass was neues da ist. Es ist auch nicht so, dass du damit extrem die DB belasten würdest. Natürlich solltest du beim pollen nur gucken, ob was neues da ist. Ich verwende dazu immer einen "select count(spalte) from tabelle1" alle 10 sek. Mein Vertrauen auf Events hat nämlich schon schwer gelitten....

Mal eine andere Frage:
Kann die Yukon Trigger an Clients werfen?

--
mfg
Franknstein

Thema: Auf Beendingung eines Prozess warten
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wie hast du das jetzt gelöst?
Könntest du vielleicht dazu ein bisschen Quelltext posten?

--
mfg
Franksntein

Thema: Verzeichnisse durchsuchen mit Visual C++
Am im Forum: Smalltalk

Leck mich am Buckel, vielleicht solltest du dir mal ein anderes Studienfach suchen. BWL oder so. Da muss man nämlich nicht nachdenken sondern nur stumpfsinnig auswendiglernen. Ich nehm dir ja noch nichtmal üblel, dass du die Vorlesungen geschwänzt hast.....

Aber was ich garnicht abhaben kann, ist wenn Leute blöd fragen, weil sie noch nichtmal google bedienen oder englisch können. Aber ich will nicht so sein:
http://sol-biotech.com/code/WinDirectoryListing.cpp (zwei Minuten suchen)

Edit
Und sagen es würde nicht funktionieren zählt nicht, ich habs mit DevC++ und dem MinGW getestet. Nur des schreiben in die Datei fehlt.


--
mfg
Franknstein

Thema: Kein eckiges Pannel
Am im Forum: GUI: Windows-Forms

Warscheinlich indem du das Panel löscht, und die Grafik direkt auf die Form zeichnest...
Oder du verwendest DoubleBuffers. Allerdings hilft das nur gegen das Flackern und nicht wie du warscheinlich beschrieben hast, gegen die Schlieren....


edit:
hier gucken für die GDI:
http://www.syncfusion.com/FAQ/WinForms/default.asp#3


---
mfg
Franknstein