Prof84 schrieb:
Aber das Thema ist schon lange durch.
Mein Einwand ist auch nicht böse gemeint, ich selbst habe bislang aber keinen Vorteil, sondern nur Nachteile von Code im Xaml und der Codebehind (letzteres bis auf Initialisierung oder reine UI-Spezifische Ausnahmen) gefunden. Mag daran liegen das ich seit der Existenz von PCLs diese auch versucht habe zu Nutzen wo möglich.
Entschuldigung! Das kommt davon, dass ich die Methode in zwei unterschiedlichen Forms verwende und leider beim Posten das falsche erwischt habe - sorry!
Und ganz toll ... während ich hier das nochmals getestet habe, funktioniert es nun!
DataView dv = new DataView();
ataGridView1.DataSource = null;
dataGridView1.Columns.Clear();
dv = BestellungEKHauptdaten().DefaultView();
dataGridView1.DataSource = dv;
ABER ich habe eine weitere sehr komplexe SQL Abfrage, da geht nun wirklich devinitiv nix. D.h. die Daten werden beim Binden (wie hier im Post dargebstellt) gebunden, Abfrage ebenso über TextChanged.
Nur das SQL Statement sieht so aus - ist dies evtl. zu komplex?
string sQuery = "SELECT tblBeEinzel.Lieferdatum, tblBest.KundeID, tblBest.Kunde, tblBest.BestellNummer, " +
"tblBeEinzel.KontraktNummer, tblBeEinzel.ArtikelID, tblartikel.Ident, " +
"tblArtikel.Bezeichnung_deutsch, tblBeEinzel.Anzahl, " +
"tblBeEinzel.einzelpreis, Anzahl*einzelpreis AS Bestellwert, tblKunden.KundenNr, tblKunden.Land, " +
"tblBest.Bestelldatum FROM (tblKunden RIGHT JOIN tblBest ON tblKunden.KundenNr = tblBest.KundeID) " +
"INNER JOIN (tblBeEinzel INNER JOIN tblArtikel ON tblBeEinzel.ArtikelID = tblArtikel.ArtikelID) ON " +
"tblBest.BestellID = tblBeEinzel.BestellID " +
"ORDER BY tblBeEinzel.Lieferdatum DESC";
So, es funktioniert. Ich habe es mit einem Exception gelöst. Sind Imagninär - und Realteil == 0, dann wird eine Exception geworfen.
Vielen lieben Dank an alle.
Hallo,
ich habe genau das Problem wie im Titel beschrieben. Ich weiß
ihr mögt keine wiederholungen
Wie stelle ich das an? Hatte bis jetzt noch nie das Problem das ich ganze Objekte speichern muss.
Gruß
ccr
Ja, ein paar Elemente gibt es immer die sich nicht Resizen sollen. Da könnte man diese Panels verwenden. Ich werd dann mal weiter herumbasteln.
Vielen Dank
Hallo,
in einem anderen C#-Forum hatte ich vorgestern eine ähnliche Frage beantwortet: Anzeige durch Übergabe Form1 -> Form2 geht nicht
Du mußt dich fragen, warum überhaupt das Suchform das aufrufende Formular kennen muß? Lösung sind dann die im Artikel beschriebenen Ereignisse.
Wenn ich das richtig sehe (habs selber noch nie gemacht), geht das nicht direkt und du wirst das Bild nochmal runterladen müssen:
http://stackoverflow.com/questions/1111451/converting-an-htmlelement-into-an-image
Hi,
Warum und wofür?
ich habe ein Programm, dass Netzlaufwerke verbindet.
Damit nicht bei jedem Laufwerk immer das Passwort abgefragt wird, sollen sie gespeichert werden.
Gruß
Hi
Hätte da ne Frage zu WPF
Meine Combobox enthält unter anderem ein Hyperlink. Dieser Hyperlink soll einen Command ausführen.
Das Problem ist nun, ist die Combobox zugeklappt lässt sich der Hyperlink nicht ausführen.
Beim Mousover wird dieser schon nicht erkannt. Der Mauszeiger wechselt nicht zu einer Hand. Ein Klick auf den Hyplerlink öffnet halt die Combobox. Was ja eigentlich auch gewollt ist wenn man irgendwo in die Combobox klickt. Und nicht nur auf den kleinen Button mit dem Pfeil nach unten.
Hier ist einfach der Button überlagert.
Was ich mir nun vorstellen könnte wäre wenn man gleichzeitig auf der Tastatur die Strg Taste drückt man auf den darunterliegenden Hyperlink zugreifen kann.
Ähnlich wie in einem Worddokument zum Beispiel. Hierzu suche ich nach einer Lösung. Vieleicht kann mir hier jemand helfen.
Gruß
Hi leute,
Ich versuche seit 2 Tagen mit dem (fast) gleichen Code meine Webcam mit ner pictureBox zu verbinden.
Die Webcam wird gefunden, angesteuert und geht an (LED an).
Ich bekomme aber nichts in der pictureBox angezeigt:
Ich schreibe allerdings in CLI, weshalb ich mir den Code angepasst habe.
Nur mit dem Umschreiben der Zuweisung des Eventhandlers
videoSource.NewFrame += new AForge.Video.NewFrameEventHandler(videoSource_NewFrame);
klappt das nicht so ganz
videoSource->NewFrame += gcnew AForge::Video::NewFrameEventHandler(videoSource_NewFrame());
Bei der "Schreibweise" werden eben 2 Argumente gefordert(Object^, NewFrameEventArgs^), die ich einfach nicht parat hab
mit...
private void videoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
{
//ankommende bilder aus dem event unserer picturebox zuweisen
pictureBoxCam.Image = (Image)eventArgs.Frame.Clone();
}
bin ich mir auch nicht sicher...
Ich lasse diese Ereignisse immer vom Designer erstellen,
in dem Fall hab ich es selber geschrieben.
Und bei der Zuweisung
pictureBox1->Image = (Bitmap)eventArgs->Frame->Clone();
bekomm ich auch iwie keine Konvertierung zustande.
Ich wäre über jeden Tipp dankbar.
Grüße
Ich habe nur Windows 7 und wußte das nicht. Im Prozess Explorer von WinInternals kann man tatsächlich bei Win7 die Kommandozeilen Argumente sehen, auch wenn man sie in eine .bat packt. Ich werde den User darauf hinweisen und er muß selber entscheiden ob er das Risiko eingeht.
Der erste Teil meiner "Frage" hat etwas in die falsche Richtung geziehlt. Wie das mit der Komandozeile geht weiß ich aus meiner C Zeit.
Vielen Dank
Peter
Ich möchte im Visual Studio Express neben der Exe ein paar Ressourcen ausliefern, auf welche die Exe zugreift. Diese Ressourcen werden im VS-Projekt in einem Ordner Ressourcen abgelegt. Beim Kompiliervorgang habe ich "In Ausgabeverzeichnis Kopieren"-> "Immer kopieren" und bei "Buildvorgang" -> "keine" ausgewählt. Das Problem ist nun das die Dateien nicht im Verzeichnis der Exe liegen (Debug oder Release) sondern im Unterverzeichnis Ressourcen. Wo kann man das Verzeichnis genauer einstellen?
Ich habe jetzt erstmal alle Ressourcen auf die Ebene des Projektes verschoben, sieht aber nicht schön aus.
Nun habe ich doch eine Möglichkeit gefunden ...
Zunächste die Eigenschaft
MultiSelect = true
sowie
SelectionMode = CellSelect
eingestellt.
Und noch beim Click Event
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex > -1)
{
dataGridView1[2, e.RowIndex].Selected = true;
dataGridView1[3, e.RowIndex].Selected = true;
dataGridView1[4, e.RowIndex].Selected = true;
dataGridView1[5, e.RowIndex].Selected = true;
dataGridView1[16, e.RowIndex].Selected = true;
dataGridView1[17, e.RowIndex].Selected = true;
dataGridView1[21, e.RowIndex].Selected = true;
dataGridView1[28, e.RowIndex].Selected = true;
dataGridView1[31, e.RowIndex].Selected = true;
....
Allerdings werden die Zellen immer etwas verzögert markiert. Gibt es eine Möglichkeit dies zu beschleunigen oder eben anderst zu lösen?
Th69 schrieb:
oder hat diese noch mehr (private) Member?
Leider ja.
Th69 schrieb:
Für den Aufrufer gibt es dann natürlich keine eigene Klasse GizmoList mehr, sondern dann nur noch List<Gizmo> bzw. noch besser IList<Gizmo> oder IEnumerable<Gizmo>.
Damit hätte ich wieder dasselbe Problem wie am Anfang. Ich stimme zu, daß Extension Methods mit Constraint die bessere Lösung sind. Aber halt nur, wenn man früh genug dran denkt.
Bei jedem Aufruf der Zeile "var handler = delegate..." würde doch handler einen Zeiger auf eine neue Funktion enthalten. Laut Fehlermeldung kann ich Delagate nicht in var abspeichern, man müsste die Delagate Definition wieder verwenden.
Ich arbeite jetzt mit MnuItemAdd.RemoveAllHandlers();
1. Richtig, in meiner TestAnwendung erzeuge ich ein Control, und weiße es einem ContentControl zu, danach hole ich mir das controkl wieder aus dem Contentcontrol und setze die Referenz auf null, so dass der GC weiß, dass er das control löschen kann ! das sehe ich am Destructor aufruf! in dem ich GC.Collect explizit aufrufe !
2. Genau, eben das beschreibt mein Problem, ich WILL ja disconnecten, aber die frage ist wann ich das machen kann! Ich habe auch schon erwähnt, dass ich das im UnLoaded event des Controls das event des DP disconnectet habe, was auch klappt.. da dass controll vom GC auch gelöscht wird.. die frage war, ob das der richtige weg ist mit dem Unloaded....
3. Weak Events wäre dann der letzte ausweg, um sicherzustellen dass ich keien memory leaks bekomme...