Steuerelement wie OpenFileDialog

12/06/2008 - 14:05 von Marcel Garaventa | Report spam
Hallo zusammen

Ich möchte ein UserControl machen, welches sich wie der OpenFileDialog
verhàlt. Zwar meine ich nicht di eFunktion selber. Aber ich möchte dass mein
UserControl auf der Toolbox erscheint. Es das UserControl muss sich aber um
ein Fenster handeln. Also muss dieses UserControl nicht auf der Form sichtbar
weden, sondern auf dem grauen Balken darunter, dort wo eben auch der
OpenFilieDialog oder etwa ToolStrip, ImageList erscheint. Wichtig ist aber
auch, dass ich dann diese UserControl mit ShowDialog als eigenes Fenster
anzeigen kann.

Weiss jemand wie man das macht??

Ich habe im Moment eine Klassenbibliothek gemacht in den sich eine Form
befinder. Diese kann ich aber nicht anzeigen in der Toolbox. Wàhle ich
hingegen satt eines Fenster eine UserControl, kann ich es in der Toolbox
anzeigen, dann aber nicht als Fenster mit ShowDialog anzeigen.

Wàhre sehr froh, wenn mir hier jemand eine Lösung hàtte.

Gruss Marcel
 

Lesen sie die antworten

#1 Elmar Boye
12/06/2008 - 16:45 | Warnen spam
Hallo Marcel,

Marcel Garaventa schrieb:
Ich möchte ein UserControl machen, welches sich wie der OpenFileDialog
verhàlt.



Dann möchtest Du vermutlich eher eine Komponente erstellen:
<URL:http://msdn.microsoft.com/de-de/lib...b.aspx>
"Vergleich von Klassen, Komponenten und Steuerelementen"

Zwar meine ich nicht di eFunktion selber. Aber ich möchte dass mein
UserControl auf der Toolbox erscheint. Es das UserControl muss sich aber um
ein Fenster handeln.



Die wiederum ein Formular aufrufen kann, üblicherweise via ShowDialog...


Weiss jemand wie man das macht??



... einen einfachen Rahmen habe ich mal unten angehàngt.

Gruß Elmar

///
Imports System.ComponentModel
Imports System.Windows.Forms

<ToolboxItemFilter("System.Windows.Forms")> _
Public Class DialogComponent
Inherits Component

Public Function ShowDialog() As DialogResult
Return Me.ShowDialog(Nothing)
End Function

Public Function ShowDialog(ByVal owner As IWin32Window) As DialogResult
Using form As New DeinDialogForm
If Not String.IsNullOrEmpty(Me.Title) Then
form.Text = Me.Title
End If
Return form.ShowDialog(owner)
End Using
End Function

' Eine exemplarische Eigenschaft
Private _title As String = ""

<Category("Appearance"), _
Description("Gibt den Titel für den Dialog an."), _
DefaultValue("")> _
Public Property Title() As String
Get
Return Me._title
End Get
Set(ByVal value As String)
If Me._title <> value Then
Me._title = value
RaiseEvent TitleChanged(Me, EventArgs.Empty)
End If
End Set
End Property

' Benachrichtigt den Designer von Änderungen (oder andere Interssenten)
Public Event TitleChanged As EventHandler
End Class
\\\

Ähnliche fragen