Du musst wissen, über welchen ConnectionString Du später auf die MDB zugreifen kannst Daten Abrufen kannst Du dann beispielsweise mit einem DataReader (http://msdn.microsoft.com/library/deu/default.asp?url=/library/DEU/cpguide/html/cpcontheadonetdatareader.asp), dann brauchst Du nicht gleich ein ganzes Set. Brauchst Du hingegen ein Set, dann lies die Daten mittels DataAdapter in ein DataSet.
Hallo Leute!
Ich versuche mich gerade daran, eigene Komponenten zu schreiben.
Mit der ersten habe ich auch kein Problem:
[ Description ( "Meine tolle Komponente A." ) ]
public partial class KlasseA : Component
{
private double _x;
private double _y;
public KlasseA()
{
InitializeComponent();
}
public KlasseA(IContainer container)
{
container.Add(this);
InitializeComponent();
}
[ Category ( "Werte" ) ]
[ Description ( "Mein x-Wert." ) ]
public double x
{
get
{
return _x;
}
set
{
_x = value;
}
}
[ Category ( "Werte" ) ]
[ Description ( "Mein y-Wert." ) ]
public double y
{
get
{
return _y;
}
set
{
_y = value;
}
}
}
Die läuft wunderbar. Ich ziehe die Komponente auf das Formular, kann in den Eigenschaften die Werte ändern, und kann diese dann auch zum Beispiel als String auf einem Button.Text ausgeben.
Soweit so gut.
Jetzt möchte ich aber eine Zweite Komponente schreiben.
Sieht aus wie folgt:
[ Description ( "Meine andere Komponente B." ) ]
public partial class KlasseB : Component
{
public KlasseB()
{
InitializeComponent();
}
public KlasseB(IContainer container)
{
container.Add(this);
InitializeComponent();
}
[ Category ( "Komponenten" ) ]
[ Description ( "Hier wird die Komponente eingebunden." ) ]
public KlasseA NeueWerte
{
get
{
return _KlasseA;
}
set
{
_KlasseA = value;
}
}
}
Natürlich habe ich zuvor meine erste Komponente auf die Entwurfsansicht der zweiten gezogen, und diese _KlasseA genannt.
Der Debugger läuft auch ohne zu meckern durch.
Ich kann anschließend die eingebundene KlasseB auf ein Formular ziehen, die Eigenschaften werden angezeigt, inkl. x und y.... bis jetzt alles wunderbar.
Aber.... ( jetzt kommt es dann doch endlich )
ändere ich eine Eigenschaft, und zwar nicht im Quellcode, sondern im dafür vorgesehenen Fenster, und ich gebe z.B. den auf 23 geänderten Wert y aus, so erscheint eine 0.
Ok, jetzt seid ihr gefragt.
Was habe ich vergessen, oder übersehen?
Freue mich auf eure Antworten,
Grüsse
BreDagin
hm wäre ein sehr nettes Feature! Könnte ja zumindest im geladenen Projekt funktionieren, da sollte es ja eigentlich kein Problem sein! Werd mir nen Makro schreiben, dass immer F10 macht wenn sich der zu überwachende Wert nicht geändert hat!
Servus,
über Click Event bekommst du es glaube ich nicht heraus, du könntest einfach das MouseUp Event beim TreeView abfangen und sowas z.B. machen:
private void OnMouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
switch ( e.Button )
{
case MouseButtons.Middle:
{
MessageBox.Show("Mitte");
break;
}
case MouseButtons.Left:
{
MessageBox.Show("Links");
break;
}
case MouseButtons.Right:
{
MessageBox.Show("Rechts");
break;
}
default:
{
MessageBox.Show("Irgendwas, iss mir pumpe...");
break;
}
}
}
Im Event selbst kannst du die MousePosition mit e.X und e.Y herausfinden. Das Element worauf geklickt wurde findest du über deine TreeView mit GetNodeAt() heraus...
mfg
Hellsgore
@sclearscreen
danke für den link werde mir gleich anschauen,
aber das mit randlosen fenstern war leider nicht ich
@Andorxor
wäre sehr nett,
meine email: sega1601@gmx.de
Google
[url]http://www.google.com/search?q="SerialPort"+".NET"[/url]
Ich habe .NET 1.1 sorry sonst hätte ich hier selbst noch Code gepostet!
MSDN:
[url]http://search.microsoft.com/results.aspx?mkt=de-DE&setlang=de-DE&q="SerialPort"[/url]
mfg sclearscreen
Achja wenn die Bestellung abgrbrochen werden soll und angezeigt werden soll was alles bestellt wurde,
geht sowas nicht:
Bestellnummer = Convert.ToInt(.....);
weil die Variable niemals leer ist bzw. Du brauchst ja eine leere Zeichenkette eine leere Zeichenkette als Abbruch.
Was macht man da man geht über eine Zwichenvariable vom Typ String!
Über diese Variable kannst Du dann abprüfen ob man fertig ist mit der Eingabe
if(best == "") // Mit Bestellungen fertig Bestell-Schleife abbrechen um alle
// Bestellungen in einer Ausgabeschleife anzuzeigen
Deine Procedure hat ja Platzhalter für die Werte. Diese setzt du mittels cmd.Parameters.Add(Platzhalter, Wert);
und dann ein
cmd.ExecuteNonQuery();
sendet das ganze an die Datenbank.
Auch wenn Du es gelöst hast nur falls es von Interesse ist folgender Link
sollte auch zur Thematik passen.
MSDN über automatische Primärschlüssel
Dieses PDF habe ich jetzt auch schon mal meinem Datenmoloch gegeben.