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...
Hallo Leute,
folgendes Control:
public class ViewItemBase : Control, INotifyPropertyChanged
{
static ViewItemBase()
{
FrameworkElement.DefaultStyleKeyProperty.OverrideMetadata(
typeof(ViewItemBase), new FrameworkPropertyMetadata(typeof(ViewItemBase)));
}
....
#region RotationAngle
public double RotationAngle
{
get { return (double)GetValue(RotationAngleProperty); }
set { SetValue(RotationAngleProperty, value); }
}
// Using a DependencyProperty as the backing store for RotationAngle. This enables animation, styling, binding, etc...
public static readonly DependencyProperty RotationAngleProperty =
DependencyProperty.Register("RotationAngle", typeof(double), typeof(ViewItemBase), new UIPropertyMetadata(0.0, OnRotationChange));
private static void OnRotationChange(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var me = d as ViewItemBase;
me.CalcBounds();
}
#endregion
...
}
der XAML Style dazu:
<Style x:Key="{x:Type Model:ViewItemBase}" TargetType="{x:Type Model:ViewItemBase}">
<Setter Property="RenderTransformOrigin" Value="0.5,0.5"/>
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="LayoutTransform">
<Setter.Value>
<RotateTransform Angle="{Binding RotationAngle, RelativeSource={RelativeSource AncestorType={x:Type Model:ViewItemBase}}}"/>
</Setter.Value>
</Setter>
</Style>
Das Binding des RotationTransform Angle funktioniert, aber trotzdem bekomme ich ein Binding error:
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='Designer.Core.Controls.Model.ViewItemBase', AncestorLevel='1''. BindingExpression:Path=RotationAngle; DataItem=null; target element is 'RotateTransform' (HashCode=62225447); target property is 'Angle' (type 'Double')
Was is da falsch ! ?? Obwohl es geht:)
P.S. Alternativ RelativeSource={RelativeSource TemplateParent} geht nicht,deswegen über die Ancester!!
grüße
Firefighter schrieb:
Prof84 schrieb:
Hallo!
Du musst INotifyPropertyChanged mit der Liste im Code anbinden.
Oder nutze die IComparer, System.Collections.Generic.EqualityComparer<T>() zwischen den Listen.
Oder ICollection<T> geht auch.
Ich weiss nicht was du damit erreichen willst, aber auf jedenfall ist es viel zu kompliziert.
@Bergziege: Schau doch mal hier
Hat sie doch geschrieben. Du löst bei der Übertragung zwischen den Forms kein Event aus!
Wie gesagt, ich bin absoluter Neuling und muss erst mal lernen was man wann und wo deklariert.
Inzwischen bin ich weiter und die Sache funktioniert mal soweit.
Danke fuer die Hilfe
Wasserlasser