Na NullReferenceException soll doch schon alles dir sagen.
nach dem Sortieren ist gesuchteDaten.CurrentRow einfach null.
Ich habe das Verhalten mit einer anderen FW (Comodo) überprüft. Hier funktioniert es einwandfrei. Zonealarm überprüft anscheinend diesen Hosting Process seperat, was Zeit kostet.
@Khalid @Xqgene
Welche FW benutzt ihr? Möchte auch diese testen.
sieh mal hier: VS 2008, 2005 - Performance & Firewall
sein erster einsatz ist doch ganz ok.
die einzige änderung ist doch hier nötig:
void added_MouseMove(object sender, MouseEventArgs e)
{
((Control)sender).Parent.OnMouseMove(e);
}
hier sollte man einfach statt parents OnMouseMove aufzurufen, gleich die richtigen koordinaten berechnen.
es geht auch ganz einfach: also von den sender-control koordinaten in die screen koordinaten und dann in die client koordinaten des hauptcontainers (Controlklasse).
ich kann das auch nicht nachvollziehen. vshost.exe ist in der FW komplett blockiert.
zu 2.
foreach(Control ctrl in this.Controls)
ctrl.MouseMove += new ..
ich weiß jetzt nicht, ob MultiLine nativ von DataGridView unterstütz wird. Wenn nicht,
kannst mal die DataGridViewTextBoxCell überschreiben.
muss eben InitializeEditingControl() und Paint() erweitern.
bei InitializeEditingControl() die TextBox auf MultiLine setzen
in Paint() entsprechend zeichnen
P.S. Hat der Text den richtige Umbrüche? Also \r\n und nicht einfach \r oder \n
ich nutze "Vista Firewall Control" (http://www.sphinx-soft.com/). Es gibt auch eine XP Variante.
so ein Problem habe ich noch nicht beobachten.
da muss du dir einen eigenen Editor dafür schreiben. Schau mal die UITypeEditor bzw. EditorAttribute Klassen an.
da muss du über WinApi gehen
Rechte Maus auf dein Projekt -> Eigenschaften -> Settings
dort die gewünschten Eigenschaften "erstellen" (Z.B. BackColor)
dann soll es auch bei dir gehen
dann starte doch ein extra Thread um deine Prozessen Liste zu füllen
Form.Shown
oder noch besser:
[Tutorial] Das neue Konfigurationsmodell im .NET Framework 2.0
noch ne Möglichkeit wäre diese generische Liste als IList zu casten:
System.Collections.IList _lst = (System.Collections.IList) result[0];
wenn ich verstehen würde, wie du es genau meinst, würde ich dir vllt. sogar helfen 🙂
aber grundsätzlich ist es möglich Methoden über Reflection auszuführen.
versuch es mal mit Convert.ChangeType()
bzw. wenn du weiß von velchem typ dein Object ist -- >
List<IListItemDriver>
wieso castest du nicht gleich richtig?
Object[] result = new Object[1];
ein
object result = ((MethodInfo)this.treeView1...
würde auch reichen.
2.
mit
Type typ = result[0].GetType();
bekommst du ein Typ-Objekt der (in deinem Fall) Liste und nicht der Elemente dadrin.
dieses Objekt kannst du natürlich nicht für die Typenangabe nutzen
System.Collections.Generic.List<typ>
da muss schon ein richtiger Typ rein. Z.B.
System.Collections.Generic.List<string>...
System.Collections.Generic.List<int>...
//u.s.w.
also versuchs mal mit
System.Collections.Generic.List<object> _lst = (System.Collections.Generic.List<object>) result[0];
foreach (object item in _lst)
{
this.bindingSource1.Add(item);
}
Hallo,
Wenn ich in meinen Komponenten eine Eigenschaft mit EditorBrowsableAttribute ausblenden möchte, ignoriert mein VS 2008 das komplett.
das heißt ich kann die Eigenschaft immer noch sehen (IntelliSense).
ist das ein genereller VS 2008 Bug, oder hat meine Installation 'nen Schuss?
wäre nett, wenn jemand das auch mal testen könnte.
vlt. hilft dir es weiter: XmlDocument und Encoding
OnTextChanged wird bei jedem Tastendruck ausgelöst. Muss mal überlegen, ob das wirklich gewünscht ist?
da ist es doch:
#define rotr8(x,n) (((x) >> ((int)(n))) | ((x) << (8 - (int)(n))))
#define rotl8(x,n) (((x) << ((int)(n))) | ((x) >> (8 - (int)(n))))
das sind keine richtige funktion, sondern makros. wenn der c++ compiler so ein makro name ( rotr8(x,n) ) in dem quellcode findet, ersetzt es einfach durch die "mackroanweisung" (((x) >> ((int)(n))) | ((x) << (8 - (int)(n))))
in c# würde es etwa so aussehen:
int rotr8(int x, int n)
{
return ((x >> n) | (x << (8 -n)));
}
int rotl8(int x, int n)
{
return ((x << n) | (x >> (8 - n)));
}
schön, dass du mein snippet gefunden hast 🙂
das von dir beschriebenes problemm musste ich auch umgehen beim programmieren meiner: Einfache ToolBar
nach dem man appbar erstellt hat, muss man die position ab und zu korrigieren.
wenn ich mich noch richtig errinere, habe ich einfach meine gewünschte position gemerkt un in dem LocationChanged event der Form Position nachmal gesetzt, wenn die von meiner gewünschten abwich.
das würde ich nicht machen. führt bestimmt zu einer NullReferenceException, denn
ReadLine() gibt ein null zurück und nicht "", wenn stream am ende ist.
du verstehst die foreach funktionalität offensichtlich falsch. sie iteriert duch alle objekte einer liste. sie macht kleine filterrung nach dem moto "guck doch mal, ob da vielleicht sich ein int in der Liste versteckt hat".
hm...tut er ganz normal (bei mir zu mindest mit deinem splitter abgespeckten code);
aber kannst du mal verraten, wofür diese methode gut sein soll:
public static MySplitContainer getSplitContainer()
{
if (splitContainer == null)
{
splitContainer = new MySplitContainer();
}
return splitContainer;
}
hm...ich kann dir nicht ganz folgen...
vielleicht ein paar Screenshots würden dein Problem etwas besser erläutern.
wie auch immer, wie wär's denn, wenn du, nach dem bild "gelöscht" ist, den text noch mal setzten würdest. über WinApi meine ich
oder einfach die ImageList wider entfernen. Also auf NULL setzen.
warum gehst du nicht einfach über listView1.Columns[0].ImageIndex ?
von wo wird denn der erste aufruf gemacht? hast du schon probiert in eine andere Routine (Ereignis-Handler) zu packen?
Original von itfreak
PS: Bin absoluter Anfänger. Deshlab nicht böse sein, wenn meine Fragen vielleicht etwas dumm sind
sind wir nicht: DataGridView
geht es denn mit DynamicResource nicht?
ich würde die Ursache an erster Stellen in der Bindung der DataGridView-Spalte (mit ComboBox) an die Datenquelle suchen als an der Schriftfarbe.
Original von schaedld
@Sisyphus
Nein ehrlich? Weiss ich auch dass WCF = Workflow ist, aber ich habe weder auf Google noch auf MSDN ein wirklich brauchbares Beispiel gefunden, daher die Anfrage hier... 😉
du hast wohl nicht verstanden, was Sisyphus eigentlich meinte 😉
Wenn dein UserControl die Button beinhaltet, dann ist der Parent auch der UserControl. Außerdem, wie kommst du in deinem Form an das Buttons Click-Ereignis? Denn die Button sind standardmäßig private und sind aus dem Form nicht sichtbar.
zeig doch mal dein Code: UserControl und Form mit dem Control.
wie wär's mit Button.Parent ??
Hi, ich habe auch VS 200 unter Vista installiert. Und habe keine Fehlermeldung. Ich habe allerdings eine Visual Studio Team System Edition. und ja ich habe noch nicht mit WCF gespielt. Kommt die Meldung auch bei anderen Projekttypen?
ich stehe Golo bei. Mir passiert das auch ganz oft. 🙂
Original von Michi1709
...aber da muss ja der Verweis in meiner XAML Datei auf die zugehörige C#-Klasse aus dem generierten File raus, da der XMLReader damit nicht umgehen kann. Also dieses hier:<Window x:Class="nuki.Filter" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
meinst du XmlReader oder doch XamlReader ??
und wes bedeutet "der XMLReader damit nicht umgehen kann" ??
Hallo CaptainIglo,
den Fehler kenne ich bereits. Leider gibt es keine Möglichkeit in einem Add-In dieses Verhalten umzugehen. So dauert es noch ne ganze Weile (🙂) bis ich es mal umbaue. Als Workaround schlage ich vor über Projekt zu gehen (rechte Maustaste, u.s.w.)
Gruß
Xqgene
eigene Titelbar? als Komponente? Brauchst du eigentlich nicht. Du machst einfach einen neuen Style für Window und damit es transparent erscheint nicht vergessen AllowsTransparency des Window auf true zu setzen.
Beschreibung:
thja... s. den Titel 😃
[StructLayout(LayoutKind.Sequential)]
internal struct SHFILEINFO
{
public IntPtr hIcon;
public IntPtr iIcon;
public uint dwAttributes;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
public string szDisplayName;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)]
public string szTypeName;
}
[DllImport("shell32.dll")]
public static extern IntPtr SHGetFileInfo(string pszPath, uint dwFileAttributes,
ref SHFILEINFO psfi, uint cbSizeFileInfo, uint uFlags);
/// <summary>
/// Prüft, ob eine Datei ausfürbar ist (.exe, .bat, etc.)
/// </summary>
/// <param name="path">Pfad zu der Datei.</param>
/// <returns>true, wenn die Datei ausführbar ist, ansonsten false.</returns>
public static bool IsExecutable(string path)
{
SHFILEINFO fi = new SHFILEINFO();
public const int SHGFI_EXETYPE = 0x000002000; // return exe type
IntPtr res = SHGetFileInfo(
path,
0,
ref fi,
(uint)System.Runtime.InteropServices.Marshal.SizeOf(fi),
SHGFI_EXETYPE);
return (res != IntPtr.Zero);
}
Schlagwörter: exe, ausführbar, Datei, prüfen, File, executable, check
Quelle: .NET-Snippets
Beschreibung:
Zeigt das Standard Windows Eigenschaftenfenster mit Informationen zum Ordner oder Datei.
[StructLayout(LayoutKind.Sequential)]
public struct SHELLEXECUTEINFO
{
public int cbSize;
public uint fMask;
public IntPtr hwnd;
public String lpVerb;
public String lpFile;
public String lpParameters;
public String lpDirectory;
public int nShow;
public int hInstApp;
public int lpIDList;
public String lpClass;
public int hkeyClass;
public uint dwHotKey;
public int hIcon;
public int hProcess;
}
....
private const int SW_SHOW = 5;
private const uint SEE_MASK_INVOKEIDLIST = 12;
[DllImport("shell32.dll")]
static extern bool ShellExecuteEx(ref SHELLEXECUTEINFO lpExecInfo);
public static void ShowProperties(string path)
{
FileInfo fi = new FileInfo(path);
SHELLEXECUTEINFO info = new SHELLEXECUTEINFO();
info.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(info);
info.lpVerb = "properties";
info.lpFile = fi.Name;
info.lpDirectory = fi.DirectoryName;
info.nShow = SW_SHOW;
info.fMask = SEE_MASK_INVOKEIDLIST;
ShellExecuteEx(ref info);
}
// Beispielaufruf:
// die Eingenschaften des Verzeichnisses "c:\temp" anzeigen
ShowProperties(@"c:\temp");
// die Eingenschaften der Datei "c:\temp\test.bmp" anzeigen
ShowProperties(@"c:\temp\test.bmp");
Schlagwörter: Eigenschaften, Datei, Verzeichnis, Folder, File, Properties, Windows-Dateieigenschaften, Eigenschaftendialog, Dialog
Quelle: .NET-Snippets
geht es denn darum, dass das fenster immer Maximized bleiben soll?
@GarlandGreene: das mit der Korrektur habe ich mich schon überlegt, mir fehlte jetzt bloß noch deine Schleife um es "bildlich" vorzustellen 🙂
@herbivore: ja wenn diese "gewisse Zeit" wesentlich kleiner als der berechnete Schritt ist. Das heißt noch eine Einschrenkung zu meiner Aufgabenstellung: Schritt soll möglichst klein sein 🙂
und dann kann es schon passieren, dass der Schritt nur unwesentlich größer ist als die "Berechnungszeit".
das berücksichtigt leider das hier nicht
ein kleines Haken gibt es noch dabei. ein Schritt bei der Zählung erfordert auch eine gewisse Zeit, welche sich vom Rechner zu Rechner unterscheidet.
Ich muss ein kleines Problemchen lösen und mir fehlt der Ansatz. (Ist wohl nicht mein Tag heute 😦)
alsoooooo!!!
eine Zahl muss z.B. von 0 bis 100 gezählt werden. Die Zählung muss in einer vorgegebener Zeit, sagen wir mal 2 Sekunden (freidefinierbar), erledigt sein. Nicht mehr und nicht weniger. Eine kleine Abweichung ist natürlich erlaubt. Es ist frei, wie groß die Schritte beim Zählen sind oder, ob man eine Pause anlegt. Es muss aber möglichst gleichmäßig verlaufen. Nicht so, dass man die Zeit abwartet und dann 100 dazu zählt.
ein kleines Haken gibt es noch dabei. ein Schritt bei der Zählung erfordert auch eine gewisse Zeit, welche sich vom Rechner zu Rechner unterscheidet.
nun jetzt seid ihr dran 🙂
gucke mal in die InitializeComponent() methode rein, ob deine designer auch den entsprechenden code dort ablegen. wenn nicht, wird das beim designen zwar klappen, aber nach dem start gibt es keine anweisungen für die anwendung, die controls zu erstellen. und nach der beendigung der app sind wahrscheinlich die controls auch aus dem designer weg.
ich denke, du sollst dir was anderes überlegen als ein Panel im fordergrund. wenn pp läuft so ist es im vollbildmodus. ich würde behaupten außerhalb deiner app.
eine möglichkeit wäre vllt. per WinApi direkt auf dem desktop zu zeichnen.
@suamikim & Chaoscoder
ich setze eure Vorschläge auf meine Todo-Liste 😉. aber zur zeit habe noch ein par anderen dinge zu erledigen.
gruß
Xqgene