Laden...
BlonderHans
myCSharp.de - Member
1
Themen
148
Beiträge
Letzte Aktivität
gestern
Dabei seit
16.03.2023
Erstellt vor 22 Tagen

Zitat von Tom3419

Oder wo ist der Denkfehler?

Wenn du immer die GLEICHEN Werte bei der Form setzt, warum sollte die Form an einer anderen Stelle erscheinen?

Dieser Code

Screen monitor = Screen.AllScreens[screenIdx];

holt nur einen Wert aus einer Auflistung. Punkt. Mehr macht er nicht. Er stellet nichts irgenwie wo ein!

Der Code, der das was du möchtest macht, den habe ich schon hier gezeigt. Also ist es eher ein Lese- als ein Denkfehler

Erstellt vor 22 Tagen

Zitat von Th69

Und wenn die übergebenen Parameter xPos/ yPos die relative Position angeben sollen, dann noch die Werte dazuaddieren:

Dann sollte man die aber auch konsequent umbenennen in xOffset und yOffset

f3.Location = new Point(rect.X + xOffset, rect.Y + yOffset);

und man müsste diese Werte auch noch von der Höhe und Breite abziehen, sonst schiebt man das Fenster über den Bildschirmrand hinaus

Erstellt vor 23 Tagen

Ich schaue mir mal den Code an:

private void Anzeige (int screenIdx, int xPos, int yPos, int xDim, int yDim)
{
    // Den gewünschten Screen/Monitor auswählen - OK
    Screen monitor = Screen.AllScreens[screenIdx];
    
    // Den Arbeitsbereich des Monitors auslesen - OK
    Rectangle rect = monitor.WorkingArea;
    
    // Und nun? Was fängst du mit dem rect nun an?
    
    f3.StartPosition = FormStartPosition.Manual;
    f3.Location = new Point(xPos, yPos);
    f3.Size = new Size(xDim, yDim);
    f3.BackColor = Color.Red;

    f3.Show();
}

Also du holst dir den Monitor, davon den Arbeitsbereich um dann damit nichts zu machen.

Die Arbeit kannst du dir doch auch sparen, und somit würde der folgende Code das Gleiche machen:

private void Anzeige (int screenIdx, int xPos, int yPos, int xDim, int yDim)
{
    f3.StartPosition = FormStartPosition.Manual;
    f3.Location = new Point(xPos, yPos);
    f3.Size = new Size(xDim, yDim);
    f3.BackColor = Color.Red;

    f3.Show();
}

Wenn du das Fenster an den Arbeitsbereich des gewählten Screens anpassen willst, dann brauchst du aber die ganzen Parameter nicht, denn die Werte holst du dir aus der rect Variable:

private void Anzeige (int screenIdx)
{
    Screen monitor = Screen.AllScreens[screenIdx];
    Rectangle rect = monitor.WorkingArea;
    
    // Wir verwenden die Werte von rect
    
    f3.StartPosition = FormStartPosition.Manual;
    f3.Location = rect.Location;
    f3.Size = rect.Size;
    f3.BackColor = Color.Red;

    f3.Show();
}
Erstellt vor 26 Tagen

Schau mal in die Dokumentation von BitConverter da wird auch der Umgang mit Little- und. Big-Endian angesprochen

BTW Man kann hier ganz toll den Code direkt in den Beitrag einfügen, wenn man die Code-Tags verwendet. Sieht dann so aus:

namespace Foo;

class Bar
{
    void Do( string s )
    {
        Console.WriteLine( s );
    }
}
Erstellt vor 6 Monaten

Du kopierst also alle Dateien von beiden Anwendungen in einen Ordner?

Genau das würde ich nicht machen - unter anderem aus dem Grund warum du gerade fragst.

Erstellt vor 6 Monaten

Wenn du eine kleine Linux-Kiste (z.B. virtuell) aufstellst kannst du postfix dafür verwenden.

Habe ich auch genau aus so einem Grund im Einsatz.

Erstellt vor 7 Monaten

In Visual Studio ist die Erweiterung ResXManager sehr hilfreich.

Erstellt vor 7 Monaten
dotnet publish -p:AssemblyName=appIntern […]
Erstellt vor 7 Monaten

Zitat von Abt

Das erste was man braucht, ist eigentlich die WMI. Über GetProccess bekommt man immer nur die gleichen Prozesse der Architektur, also x86 oder x64. Über WMI bekommt man alles.

Das war die Einleitung zum Beitrag.

Um direkt in dem Code die Ergebnisse von Process.GetProcesses() (wir erinnern uns: liefert zu wenig) und der WMI (wir erinnern uns: liefert alles) mit einem join zu verknüpfen und damit das was die WMI mehr liefert gleich wieder in den Ausguss zu spülen.

Das macht einfach keinen Sinn weil man so nicht mehr bekommt.

Auf diese Problematik wollte ich den unbedarften Copy-Paste-Nutzer der Zukunft hinweisen, nicht das der dann da mit seinem kurzen Hemd im Regen herumsteht und die Welt nicht mehr begreift, denn das hilft schon mal gar nicht.