2012-04-12 13 views
1

Ich arbeite an einer .NET-Anwendung für ein Handheld-x86-Gerät mit einem 480 * 800-Bildschirm. Alles funktioniert wunderbar, außer wenn es zu einem Open File/Save File Design kommt. Die Standardwerte OpenFileDialog und andere ähnliche Dialoge sind zu groß in der Breite, wenn sie angezeigt werden, wodurch die Schaltfläche Öffnen teilweise außerhalb des Bildschirms und die Schaltfläche Abbrechen insgesamt deaktiviert wird. Eigentlich kann der Benutzer den Dialog Größe ändern, nachdem er gezeigt hat, aber es gibt eine MINDEST SIZE mit Breite noch größer als 480.Einfache Möglichkeit, OpenFileDialog kleiner zu machen?

Soweit ich sehen kann, gibt es keine Möglichkeit, OpenFileDialog direkt zu manipulieren, noch eine Erbschaft zu tun. Die FileDialog, die OpenFileDialog erbt, ist nicht vererbbar. Und CommonDialog sieht zu weit weg. Googeln zeigt einige kommerzielle Dialogkomponenten, die viele Funktionen haben, die ich nicht haben möchte, eine Hacking-Lösung endet mit einem Projekt mit mindestens 4 brandneuen Klassen und einigen Win32-APIs und Messaging-Mechanismen, die ich auch nicht brauche.

Es ist sehr einfach, ich möchte nur eine einfache Möglichkeit, um die Breite von OpenFileDialog auf 480 oder kleiner zu beheben. Irgendwie in der Nähe?

+1

Wenn Sie nicht standardmäßige Verhaltensweisen benötigen, sind Sie auf den Bereich eines 3PC angewiesen oder machen native Win32-API-Aufrufe. Die WinForms-Komponente ist ziemlich begrenzt. –

+1

Wenn es eine Mindestgröße hat, hat es aus einem bestimmten Grund. In diesem Fall ist es wahrscheinlich die beste Wette, einen eigenen Dialog zu erstellen. –

+0

@TetsujinnoOni Ich weiß, aber das ist es, was ich hier nicht mag - die Win32-API ist zu mächtig, es ist, als müsste ich einen OpenFiledialog von der Skizze aus machen. Ich versuche eine genial einfache Lösung zu finden –

Antwort

1

Datei öffnen Dialog ist ein Systemdialog. Dies bedeutet, dass Ihre Anwendung keine Kontrolle darüber hat. Es wird vom Benutzer gesteuert. Wenn der Benutzer seine Größe in einer Anwendung ändern möchte, erhält er in allen Anwendungen eine neue Größe, da diese Größe vom Benutzer bevorzugt wird.

Zweck der allgemeinen Dialoge ist die Bereitstellung von Standard-UI-Teilen für den Benutzer. Stellen Sie sich vor, wie unangenehm es für die Benutzer wäre, nach einer zu öffnenden Datei zu suchen, wenn jede Anwendung ihren eigenen OpenFileDialog verwenden würde.

Sie können jedoch Ihren eigenen Dialog erstellen.

Verwandte Themen