Hi,
steht alles in [Tutorial] Lokalisierung von Texten in .NET.
Das entspricht:
Action<IEnumerable<string>> dispatcher = MyDispatcherMethod;
void MyDispatcherMessage(IEnumerable<string> messages)
{
return SendToClient(messages);
}
Bei Lamda Expressions braucht man also keine eigene Methode erstellen und die Parameter-Typen sind implizit bekannt. Zusätzlich braucht man in dem Code auch das 'return' nicht explizit hinschreiben.
Das wird alleine nicht helfen, s. How does the command prompt know when to wait for exit?
Benutze einfach
start /w meinprogramm.exe ...
Das klappt dann auch für GUI-Programme.
Edit: Ups, jetzt erst sehe ich, dass Robert1974 dies ja auch geschrieben hat (sorry 😉).
Bei TabControls solltest du besser aus den verschiedenen Tabs UserControls erstellen - am besten sogar dann aus dem TabControl selbst auch. So hast du dann automatisch den Code jeweils in eigenen Klassen (und kannst dann dafür ein passendes Interface bereitstellen).
Noch als Tipp: erstelle dir ein UserControl daraus.
Hi,
Form.AcceptButton zu setzen reicht alleine nicht aus (lies dir mal die Beschreibung genau durch), sondern du musst auch noch bei den Buttons Button.DialogResult auf OK bzw. Cancel setzen.
Kopierst du die Klasse dann immer in verschiedene Projekte? Erzeuge doch einfach aus der Klasse eine eigene Assembly (und binde dort dann System.Drawing ein).
So doch nicht, dafür gibt es Path.GetExtension().
CWolle: nimm mal "x.y.gif" als Dateiname...
Hi,
als Stichwort wäre wohl "tile" das was du suchst, d.h. die ganze Karte zerteilst du in kleine Teile und lädst nur die Teile, welche gerade angezeigt werden (evtl. noch ein Caching einbauen), s.a. Tiled rendering.
Hi,
warum liest du nicht einfach eine Batch-Datei per File.ReadAllText() ein?
Alternativ die Datei als Text-Resource ins Projekt einfügen und daraus lesen.
Aber die einzelnen Zeilen per List.Add() einzufügen ist wirklich die schlechteste Wahl.
Hi,
[FAQ] Controls von Thread aktualisieren lassen (Control.Invoke/Dispatcher.Invoke)
Und [Artikel] Drei-Schichten-Architektur sowie [Artikel] MVVM und DataBinding solltest du auch mal anwenden.
Hi,
welchen Datentyp hat denn oApp?
Probiere mal
if(result == MessageBoxResult.No)
{
e.Handled = true;
}
Edit: Ja, sollte wohl in ein Preview-Event rein.
Hi,
wie kommst du auf
foreach (DataRowView drv in lbAuftragAlt)
???
Du fügst doch Strings in die ListBox. Und das kann auch mit einer anderen ListBox nicht funktionieren.
PS: Du meintest bei deinem ersten Code
lbAuftragAlt.Items.Add(_sa.ToString());
oder?
Du versuchst den Button unsichtbar zu schalten, während der Eventhandler läuft?!
Teste mal, ob "Enabled = false" wenigstens funktioniert.
Ansonsten hilft evtl. [FAQ] Bestimmte Aktionen bis nach der laufenden GUI-Event-Behandlung verzögern
Hi,
dafür gibt es die MaskedTextBox.
Eher "Geschützte Systemdateien ausblenden" deaktivieren.
Wenn dir die Grundlagen von C# fehlen: [FAQ] Wie finde ich den Einstieg in C#?
Hi,
der Code ist für eine WinForms-ComboBox.
Hi,
s. [Artikel] Delegaten, anonyme Methoden, Lambda-Ausdrücke & Co. unter Closures.
Vielleicht würde es helfen, wenn du angibst, welche Chart-Komponente und welches UI (WinForms, WPF) du verwendest?
Nur so auf die Schnelle:
Ist das doppelte "Width" in deinem IEImage-Konstruktor (Zeile 1 + 3) so gewollt?
PS: Du mixt UI und Logik in deinem Code -> Code ist viel zu groß und unübersichtlich!!!
Zeig doch mal deinen Code.
Hi,
das Projektverzeichnis interessiert dabei nicht, sondern immer nur das Deployverzeichnis ".../bin/release" (und dann sollten Dateien auch nur unterhalb davon sein).
Die Bilddateien solltest du mittels "copy to output dir" auf "copy, if newer" einstellen, so dass dann eine Kopie davon im Deployverzeichnis erstellt wird (welche du dann in den Installer packen mußt).
SQLite.dll und SQLite3.dll sind aber native DLLs, keine .NET-Assemblies.
@TigerCrow: Du weißt schon, dass System.Data.SQLite und SQLite.NET zwei unterschiedliche Libraries sind (mit unterschiedlichen Anforderungen)?
Hi,
maximal sqrt(eingabe), d.h.
for (int i = 3; i * i <= eingabe; i += 2)
Gib mal 2 bei deinem Programm ein...
Hi,
in der MSDN findest du alle Funktionen dazu, z.B. GetPrivateProfileSection (hier müsstest du dann aber noch den zurückgegeben Buffer nach den '\0' durchparsen).
Suche dir als Anfänger daher besser eine Library.
Und deine 2. Frage bzgl. Anzeigen ist so selbstverständlich, weil du da einfach nur in die Doku des entsprechenden Controls reinschauen brauchst.
Hi,
hast du denn die Property ImageIndex bzw. ImageKey bei den einzelnen ListViewItems gesetzt, s.a. Filling a ListView with an ImageList using View.Details?
Der MySql-Connector/Net muß auch auf dem Zielsystem installiert werden.
@Sir Rufo: Super, nur die Abfrage
/* else */ if ( toreMannschaft == toreGegner )
{
fmt = "{0} gleichen aus zum {1}:{2}";
}
hast du doppelt drin.
Suchst du "static"?
class MyClass
{
public static int Counter { get; set; }
}
Projekte können sich nicht gegenseitig referenzieren. Du benötigst nur in DLL-B die Referenz auf DLL-A.
Vllt. hilft dir CA2232: Windows Forms-Einstiegspunkte mit STAThread markieren?
[STAThread]
public static void Main()
{
}
Hi,
bei deinem Code ist ja auch
testPanel.Size = new Size(200, 91);
testPanel.Size = new Size(flowLayoutPanel1.ClientSize.Width, 200);
testPanel.Size = new Size(flowLayoutPanel1.ClientSize.Height, 91);
sinnfrei, da du damit dreimal die Größe festsetzt (und jeweils überschreibst).
Rufe im Setter von den beiden Properties
Changed("artikelGesamtpreis");
zusätzlich auf.
Allerdings muß dann der Getter in artikelGesamtpreis den berechneten Preis zurückgeben (anstatt im Setter - und dieser kann dann ganz entfallen).
Und die Datentypen solltest du auch noch anpassen (anstatt alles als string zu speichern).
PS: Properties sollten mit einem Großbuchstaben beginnen.
Hi,
dann informiere dich mal über "embedded databases" - SQLite z.B. unterstützt auch multi user access: Can sqlite support multiple user?
Das hattest du doch oben schon in deinem Code
AppWinProcessHandle = ChildProcess.MainWindowHandle;
🤔
Trotzdem solltest du aus Design-Sicht die Ratschläge von Coffeebean und mir dir aneignen (wenn man nämlich hingehen muss, den eigene Code auf mehrere Dateien aufzuteilen, dann ist dieser definitiv zu groß für eine Klasse!).
Edit:
Falls du mein The Daily WTF nicht verstanden hast:
txtInput.Enabled = true;
bnConnect.Enabled = false;
Wo hast du denn das mit "Boolean.Parse" gelernt?
Das liegt an jedem Process selbst, wie er diese Flags auswertet - und der IExplorer ignoriert diese anscheinend.
Kann man auch sehen, wenn man eine Verknüpfung erstellt und dort dann unter "Ausführen" die Werte "Minimiert" oder "Maximiert" einstellt.
Hi,
du mußt die DataBinding-Denkweise verstehen. Füge schon in der NeuePerson-Methode eine neue Person (so wie der Name ja auch lautet) der BindingSource hinzu - dann aktualisieren sich automatisch alle gebundenen Controls.
Für das Speichern mußt du dann die Daten wieder mit der DB synchronisieren (je nach DB-Zugriff per DataTableAdapter o.ä.).
GDI kennt aber keine einzelnen Punkte, also wirst du dann eben mittels Rectangle einen zeichnen müssen (erstelle dir einfach eine eigene Methode dafür - wie du es ja schon gepostet hast).
Und der Begriff "Plotten" ist auch hierfür nicht wirklich angebracht, denn ein Bildschirm ist ja kein Drucker o.ä.
Hi,
gib der Methode die benötigten Werte als Parameter mit:
public static bool OpenPortConnection(SerialPort port, string portName)
LOL, sehe gerade noch deinen anderen Code:
Boolean.Parse("True");
Das ist wohl der heutige "the DailyWTF" 😁
Hast du auch AllowDrop bei der Form gesetzt?
Was ich meine in Pseudocode:
do
{
Platziere GameObject an zufälliger Position
} while(es gibt überlappende Objekte)
Bin zwar kein Unity-Experte, aber prüfe mal ob dir Physics.OverlapSphere dabei hilft?
Hast du überhaupt ein WindowsForms-Projekt erstellt? Dann hast du schon automatisch den Vorgabe-Code für ein Fenster (Form).
Beim WPF WebBrowser funktionieren wohl generell die mouse events nicht (direkt): WPF WebBrowser Mouse Events not working as expected
Evtl. hilft onmouseover selbst auszuwerten?