Hi,
aha, besten Dank für die Infos.
Grüße Oli
Hallo Herbivore,
Vielen Dank. Ok, eine Lösung mit Threads ist sicherlich die beste Wahl (wie gesagt, bei mit funktioniert´s mit Update auch, somit lohnt sich der Aufwand nicht wirklich), was mich aber interessieren würde, ist warum dies auftritt, denn eigentlich läuft der Code doch sequentiell, somit sollte doch ein Folgestatement erst dann ausgeführt werden, wenn das vorherige Statement fertig abgearbeitet ist.
Oder hab ich da was falsch verstanden??
Gruß Oli
Hi,
hab das Problem gelöst mit
this.label1.Update();
[/CSAHRP]
allerdings würde mich jetzt interessieren warum das so ist.
Wäre dankbar für Antworten.
Gruß Oli
Hallo,
ich rufe eine Funktion auf, die sehr Zeitintensiv ist. Dies möchte ich dem User mitteilen:
this.label1.Visible=true;
this.label1.Text="Die Suche nach Belegten Anlagen wird gestartet.\n Dies kann einen Moment dauern.";
function();
this.label1.Visible=false;
Das Problem ist nun, dass der Label erst dann angezeigt wird, wenn auch die Funktion vollständig abgearbeitet ist. Woran kann das liegen und kann man es erzwingen, dass erst der Label eingeblendet wird und dann die Funktion ausgeführt wird?
Danke Oli
P.S.: Ein gesundes Neues Jahr an alle Leser!
Hallo,
ich möchte eine DataRow in einem Datagrid der Stringlänge anpssen. Ich hab aber nur stirng.length und das liefert mir ja die Anzahl der Elemente in dem Stirng zurück. Gibts ne Möglichkeit die Pixelanzahl einer Stings rauszubekommen??
Danke Oli
Besten Dank,
gibt´s sowas auch für ne Acess Datenbank??
Gruß Oli
Hallo,
kann man mit C# bzw. .net im allgemeinen auf ne MySQL Datenbank zugreifen? Wenn ja wo gibt´s da Infos, denn bei MSDN hab ich nix gefunden
Gruß Oli
string test;
test = this.textBox1.Text;
Hallo.
gibt´s ne Möglichkeit sich z.B. in einem Label die aktuelle Version des Programmes anzeigen zu lassen?
Jedesmal wenn das Programm verändert und neu kompiliert wird soll die Versionsnummer erhöht werden.
Gibt es da eine Möglichkeit das zu realisisieren??
Grüße Oli
Wird so sein, denke ich.
Der Hilfe konnte ich entnehmen, dass ich mit BufferedStream arbeiten kann, das liest mit aber nur bytes ein. Das kann ich allerdings nicht brauchen. Naja ich hoffe der Traffic wird nicht allzu hoch wenn das Proggie life geschaltet wird.
Es werde da ca. 200 Zeilen gescannt und nach einem bestimmten Ausdruck gesucht.
Aber trotzdem Danke für die Hilfe...
Gruß Oli
Hallo,
ich benutze StreamReader um aus einer Datei zu lesen, da diese auf einem Server liegt und ich vermeiden möchte, dass während des gesamten Lesevorganges Übertragung stattfindet, würde ich gerne wissen, ob die Datei gecachet wird oder ob das Auslesen der Zeilen permanet über den Server läuft.
Danke Oli
Leider bin ich jetzt aber immer noch net schlauer. Sollte mir das jemand erklären können , wäre ich sehr dankbar.
Grüße Oli
Naja, manchmal wären eben Kommentare im Code hilfreich.
Danke trotzdem.
Hi,
also wenn ich ehrlich bin, versteh ich den Code net ganz. Wie kann ich das in meinen Tree View einbinden und wo gebe ich das Startverzeichnis mit??
Danke Oli
Hallo, ich habe ein Programm, welches mir einen Verzeichnisbaum in eine TreeView packt. Das Füllen der TreeNodes geschieht rekursiv, ich laufe alse alle Verzeichnisse ab und schaue nach ob noch Unterverzeichnisse vorhanden sind, wenn ja adden.
In der Testumgebung mit ca 40 Verzeichnissen war das ja kein Problem, jedoch habe ich jetzt eine Verzeichnisstrukur mit ca. 500 Verzeichnissen. Das ist natürlich jetzt ne äußerst langsame und unbefriedigende Lösung.
Meine frage deshalb:
Wie kann ich es realisieren, das die Root angezeigt wird und je nachdem, welches Verzeichnis vom User angewählt wird, dieses durchsucht wird und die entsprechende Ebene angezeigt wird. Dabei soll der Baum aber in seiner Struktur erhalten bleiben.
Danke Oli
Hi,
hat sich erledigt!
Wenn man natürlich des ganze net rekursiv macht, dann wird des auch net wirklich funktionieren 😜 🤔
Danke an Euch beide,
Gruß Oli 😁
Also das mit der Suche hab ich denk ich vom Code richtig hinbekommen nur hab ich nun ein weiteres Problem: Ich lade mir mit folgenden Methoden einen Verzeichnisbaum in meinen TreeView. Das geschieht folgendermassen:
public TreeNode GetDirectories(string directory)
{
//Holen der Namen der Unterverzeichnisse
TreeNode treeNode = new TreeNode(new DirectoryInfo(directory).Name);
treeNode.Tag = directory;
DirectoryInfo[] directoryInfos = new DirectoryInfo(directory).GetDirectories();
//Auf den TreeNode schreiben
foreach (DirectoryInfo directoryInfo in directoryInfos)
{
treeNode.ImageIndex = 0;
treeNode.SelectedImageIndex = 1;
treeNode.Nodes.Add this.GetDirectories(directoryInfo.FullName));
}
return treeNode;
}
public void FillTree(TreeNode treeNode)
{
this.treeView1.Nodes.Add(treeNode);
}
Wenn ich nun:
TreeNodeCollection myNodeCollection = this.treeView1.Nodes;
erzeuge und per
int count = myNodeCollection.Count
den Wert ausgeben lasse bekomme ich "1" ????
Auch die Funktion
if (myNodeCollection.Contains(node))
{
test += "Node2 is at index: " + myNodeCollection.IndexOf(node);
}
test += "\n\nElements of the TreeNodeCollection:\n";
// Create an enumerator for the collection.
IEnumerator myEnumerator = myNodeCollection.GetEnumerator();
while(myEnumerator.MoveNext())
{
test += ((TreeNode)myEnumerator.Current).Text +"\n";
}
MessageBox.Show(test);
}
liefert mir lediglich den rootNode.
Kann mir jemand auf die Sprünge helfen, was ich falsch mache??
Gruß Oli
@Quallo: Was meinst du mit Zwischenlisten??
Moin,
hab folgendes Problem. Ich lade nen Baum in ne TreeView. Nun möchte ich, wenn der Benutzer einen bestimmten Wert eingibt, diesen Wert im Baum suchen und den entsprechenden Knoten anzeigen lassen.
Ich hab die TreeView Klasse schon durchforstet aber nix wirklich brauchbares gefunden. Hatte schonmal jemand solch ein Problem und wenn ja wie hab´t ihr des gelöst??
Danke Oli
Danke für deine Hilfe, aber ich komm da heut nimmer mit. Werd mich dem Problem morgen wieder widmen....
Gruß Oli
Könntest du das ein bisschen spezifizieren? Ich Array.Sort(directoyArray, ????) wie kann ich angeben nach welchem Kriterium ich sortieren will??
Danke Oli
Hm,
ok, aber wenn ich mir die DateTime-Werte in ein Array packe und sortieren lasse, wie soll ich dann wissen, zu welchem Ordner diese sortierten DateTimes gehören. Oder sitze ich heute mördermässig auf der Leitung??
😦
Hi,
Ich weiß sicherlich wie ich die Ordner zählen kann, des is kein Thema, ich find nur keine vernünftige Lösung für das Problem des Löschens bei mehr als 3 und dabei eben nur die Ältesten.
Oli
Hi,
habe ein kleines Problemchen. Ich muß die Anzahl der Ordner in einem Verzeichnis zählen, sollten mehr als 3 darin liegen, sollen die mit dem ältesten Datum gelöscht werden.
Ich muß ehrlich sagen, ich hab keine Ahnung wie ich des lösen soll. KAnn mir jemand ein paar Tipps geben??
Danke Oli
So,
hab die Lösung gefunden, mußte vor ne Methode [STAThread] setzen. Kann mir jemand erklären was [STAThread] bewirkt??
Danke Oli
Hi,
Dein Datagrid weiß noch nicht wie es mit deiner Tabelle umgehen soll. Ich nehme an du arbeitest it VS.net, da gehste auf eigenschaften der DataGrid, dort auf TableStyles, dort kannst du ein DataTableStyle anlegen. Hier mußt du auch nochmals deine Table adden, also in deinem Fall authors. Danach legst du die GridColumnStyles fest. Hier mußt du so viele Colums adden, wie in deiner Tabelle liegen. Diese ebenfall wieder mit dem Tabellennamen und dem Namen der Spalte mappen. Dann sollte es funktionieren.
Gruß Oli
Hi,
bin auf was sehr kurioses gestossen: Sobald ich in meinem Programm an eine ImageList Bilder (egal welches Format) anhänge, bleibt der folderBrowserDialog grau. Nur die Buttons sind zu sehen. Diese haben aber keine Funktionalität.
Wenn ich vor der Initialisierung der Komponenten im Form1() den folderBrowserDialog initialisiere und einmal mit showDialog() starte, funtioniert es tadellos.
Wird showDialog() im Form1() nicht aufgerufen, funktioniert es nicht. :eek:
Nun und bei Programmstart einen FolderBrowserDialog zu starten und mit Cancel zu beenden um das eigentliche Programm fehlerfrei zum Laufen zu bringen ist schon etwas unbefriedigend... 🙁
Kann mir das jemand erklären?? 😕
Hi,
ich möchte die Hintergrundfarbe einer Zeile in einem DataGrid ändern. Aber nicht alle Zeilen, sondern nur eine.
Weiß jemand wie ich des funktioniert??
Danke...
Naja und die Suche nach InputBox im Forum liefert genau zwei Ergebnisse:
Inputbox (Delphi) in C#
Wmi ( 1 2 3)
Des hätte mich halt auch net wirklich entscheidend weiter gebracht. Sei net sauer, aber wenn dir die Fragen zu blöd sind, dann antworte einfach net drauf. Und wenn hier nur Profiprogrammierer posten dürfen, dann lösch einfach meinen Account.
Oli
Hi,
Sorry, im Forum hab ich nicht gesucht, ich meinte die Suche bei .net. Da gibt´s eben keine Methode InputBox, aber den Link den ich gepostet habe kan man sich durchaus anschauen.
Schönes Wochenende, ich denk du hast ein bisschen Entspannung nötig, Noodles...
Gruß Oli
Also, für alle die das selbe Problem haben:
es gibt in C#.net KEINE InputDialogBox. Aber guckst du hier:
http://www.knowdotnet.com/articles/inputbox.html
Funktioniert Perfekt!
Gruß Oli
Hi, nochmals,
habs rasugefunden, der Fehler war, daß ich das DataGrid als Source einfügen muss und nicht die Table und dann die table mappen.
Gruß Oli
X(Hi nochmals,
also ich hab das forum nochmals durchsucht. Die Lösungen bringen aber keinen Erfolg. Ich lade wie gesagt aus einem DataSet eine DataTable:
this.dataGrid1.DataMember = "";
this.dataGrid1.DataSource = this.dataTable1;
this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
this.dataGrid1.Location = new System.Drawing.Point(256, 96);
this.dataGrid1.Name = "dataGrid1";
this.dataGrid1.PreferredColumnWidth = 100;
this.dataGrid1.ReadOnly = true;
this.dataGrid1.Size = new System.Drawing.Size(696, 168);
this.dataGrid1.TabIndex = 7;
this.dataGrid1.TableStyles.AddRange(new System.Windows.Forms.DataGridTableStyle[] {this.dataGridTableStyle1});
this.dataTable1.Columns.AddRange(new System.Data.DataColumn[] {
this.dataColumn1,
this.dataColumn2,
this.dataColumn3,
this.dataColumn4,
this.dataColumn5; this.dataColumn6});
this.dataTable1.TableName = "Table1";
this.dataColumn1.ColumnName = "Bezeichnung";
this.dataColumn2.ColumnName = "Version";
this.dataColumn3.ColumnName = "Erstellt am";
this.dataColumn4.ColumnName = "Erstellt um";
this.dataColumn5.ColumnName = "Status";
this.dataColumn6.ColumnName = "Bearbeiter";
Füllen der Table über ein log-File.
Weiterhin:
this.dataGridTableStyle1 = new System.Windows.Forms.DataGridTableStyle();
this.dataGridTextBoxColumn1 = new System.Windows.Forms.DataGridTextBoxColumn();
this.dataGridTextBoxColumn2 = new System.Windows.Forms.DataGridTextBoxColumn();
this.dataGridTextBoxColumn3 = new System.Windows.Forms.DataGridTextBoxColumn();
Wenn ich versuche nun die Spalten mit
this.dataGridTextBoxColumn1.Width=25;
zu ändern: kein Effekt!
?????????????????? 🙁 X( ??????????????????????
Hi,
habe gerade vergeblich nach einer Lösung im Forum gesucht. Mein Problem ist, dass ich über ein DataSet eine DataTable erstelle, die wiederum mit Daten gefüllt wird. Diese DataTable mit Ihren Daten übergebe ich als DataSource im DateGrid. Im DataSet kann ich die Spaltenbreite nicht einstellen. Und in der Table Styles Collection ein DataGrid.TableStyles einzelne GridColumsStyles anzulegen bringt auch nicht den gewünschten Erfolg.
Falls jemand helfen kann, wäre ich dankbar.
Grüße Oli
Hallo,
ich lade aus einer DataTable Daten in ein DataGrid. Mein Problem ist, dass ich bei .net die Breite dieser Spalten nur über PreferredColumnWidth in den Properties des DataGrids einstellen kann. Ich möchte allerdings unterschiedliche Spaltenbreiten als default, also z.b. Spate 1 = Breite 25, Spalte 2 = Breite 120 usw.
Geht so etwas mit .net oder hab ich da keine Chance.
Danke und Gruß
Oli
Aha, im Klartext die Methode InitializeComponents() aufrufen??
Hallo,
Ich möchte mein Programm nach einer Abarbeitung neu starten lassen. Es sollen also ein reset erfolgen, der mir das Programm in den Startzustand bringt. Ich kann also Application.Run(new Form1), allerdings hab ich keine Möglichkeit gefunden die laufende Application zu schließen.
Gibt´s da ne Möglichkeit??
Danke Oli
Hallo,
ich möchte ein komplettes Directory kopieren. Und das von einem Laufwerk auf einen USB-Stick. Bis jetzt habe ich nur die Methode Directory.move gefunden, die ist aber nicht Laufwerkübergreifend und würde mir ja mein Quellverzeichnis verschieben. Ich möchte aber nur eine Kopie der Daten in einem Verzeichnis auf einen USB-Stick.
Hat da jemand ne Ahnung von?
Grüße an alle Oli
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Text = folderBrowserDialog1.SelectedPath;
}
In dem sich öffnenden Fenster habe ich unten drei Buttons "Make new folder", OK und Cancel. Aber ein Verzeichnis zum Auswählen wird mir nicht angezeigt.
Gruß Oli
Ich möchte ja aber ein Verzeichnis zurückbekommen und beim openfileDialog muss ich nen Filenamen auswählen...
Hi,
Naja ich möchte, dass eine Dialogbox aufgeht in der der User das Zielverzeichnis auswählt und dieses Zielverzeichnis möchte ich als String für die weitere Verarbeitung haben.
Gruß Oli
Hallo,
ich möchte eine Routine basteln bei der der User ein bestimmtes Verzeichnis auf z.B. einen USB Stick schieben kann. Mein Problem ist allerdings, dass ich es nicht hinbekomme über den OpenFolderDialog das Verzeichnis einzulesen.
Kann mir da jemand nen entscheidenden Tipp geben??
Vielen Dank,
Oli
Danke, habs selbst gelöst, auf weniger umständliche Weise, wie hier beschrieben. Ist halt wie in den meisten Foren, dass einige Klugsch....er sich profilieren wollen und eigentlich nix zum Thema beitragen, aber damit muss man sich denk ich abfinden
Hi!
Naja, sollte eigentlich schnell gehen. Komme mit dem Code net ganz klar. Such woanders weiter.
Danke trotzdem
Gruß Oli
Hallo,
hm, wenn ich ehrlich bin check ich net ganz was dein Code macht. Ich will ja in den vorhandenen treeview ein Verzeichnis einlesen und dann die Unterverzeichnisse auflisten lassen. Und ich sehe bei dir nicht wo das Startverzeichnis gelesen wird.
Aber trotzdem Danke.
Gruß Oli
Hallo,
ich möchte ein Verzeichnis in ein TreeView einlesen. Es soll ein bestimmtes Verzeichnis eingelesen werden und dann die Unterknoten angezeigt werden. Wie ist das zu realisieren??
Gruß Oli