Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VB.NET(VS2010)-Sinnloser(?) Fehler bei Controls.Add eines FlowLayoutPanels - Fragen zum Drag n Drop

Frage Entwicklung Visual Studio

Mitglied: mathe172

mathe172 (Level 1) - Jetzt verbinden

12.03.2011 um 12:03 Uhr, 4206 Aufrufe

Hallo zusammen!
Ich habe gleich wieder einen ganzen Haufen fragen zu einem Program, das ich zur Zeit entwickle...
Die erste Frage habe ich schon im Visual Basic Developer Center gestellt, bekam aber bisher keine Antwort...
Ich hoffe ihr habt eine

Ich schreibe im Moment an einer Klasse, die von FlowLayoutPanel erbt und Drag 'n Drop ermöglichen soll...
Das funktioniert auch alles. Nun wollte ich es möglich machen, dass man eine Datei darauf ziehen kann, für die dann ein spezieller Button (Class FileButton, Inherits Button) erstellt werden soll, der den Pfad der Datei enthält...

1. Problem:

Das funktioniert auch noch. Nun hat dieser neue FileButton(Meine Button-Klasse, die von Button erbt) aber noch die Standardeigenschaften (er ist zu klein, hat die Falsche Farbe...).

Um das zu ändern habe ich eine neue Eigenschaft zu meiner "FlowLayoutPanel"-Klasse hinzugefügt, die einen Standard-Button enthält. (Public Property MyControlsModel as FileButton)

Dann soll dieser Code den fertigen Button "erstellen", der alle Eigenschaften richtig hat.
01.
'----Code zur Zuweisung aller Eigenschaften---- 
02.
'source ist vom Typ FileButton 
03.
'Pfad zwischenspeichern 
04.
Dim FilePath As String = source.FilePath'FilePath ist die Eigenschaft meiner Klasse FileButton, die den DateiPfad enthält 
05.
'StandardButton klonen 
06.
source = _MyControlsModel.Clone 
07.
'Pfad zuweisen 
08.
source.FilePath = FilePath 
09.
'Zu den Controls hinzufügen 
10.
Me.Controls.Add(source) 
11.
 
12.
'----Clone-Funktion der Klasse FileButton---- 
13.
Public Function Clone() As FileButton 
14.
  Return MemberwiseClone() 
15.
End Function
Der Button hat alle Eigenschaften richtig(soweit ich weiss), aber die .Add-Methode funktioniert nicht.

Sie bringt den Fehler:"child" ist kein untergeordnetes Steuerelement dieses übergeordneten Elements.

Das Argument von .Add heisst aber value und auch sonst, ich will das Control ja erst hinzufügen, es sollte ja noch gar nicht untergeornet sein!?
Oder gibt es ja eine bessere Methode, um dem Button meine Eigenschaften zu geben, ohne den Code von FileButton anzupassen oder alle Eigenschaften aufzulisten und manuell zu setzen(Das ist meine Zwischenlösung)?

2. Problem:

Das Drag 'n Drop funktioniert jetzt übergangsmässig schon mal...
Wenn ich jetzt aber auf mein Program den Ordner BeispielBilder ziehe(OS:Windows 7; Pfad :C:\Users\Public\Pictures\Sample Pictures) dann ist der Text meines Buttons (wird automatisch zu Datei- oder Ordnername) leider eben "Sample Pictures", da der Name aus dem Pfad geholt wird.
Kann man das ändern? Also dass der Text BeispielBilder lautet?
Mein jetziger Code:
01.
Partial Class FileButton 
02.
    'Zur Laufzeit kommt der Pfad aus einem DataObject, vom DragDrop Event von FlowLayoutPanel 
03.
    Public Event FilePathChanged(ByVal ChangedButton As FileButton) 
04.
    Private _FilePath As String 
05.
    Public Property FilePath As String 
06.
        Get 
07.
            Return _FilePath 
08.
        End Get 
09.
        Set(ByVal value As String) 
10.
            If value <> "" Then 
11.
                RaiseEvent FilePathChanged(Me) 
12.
                _FilePath = value.Replace("/", "\") 
13.
                ChangeImgAndText(_FilePath) 
14.
            End If 
15.
        End Set 
16.
    End Property 
17.
 
18.
    Private Sub ChangeImgAndText(ByVal Path As String) 
19.
        If My.Computer.FileSystem.FileExists(Path) Or My.Computer.FileSystem.DirectoryExists(Path) Then 
20.
            himgsmall = SHGetFileInfo(Path, 0, shinfo, System.Runtime.InteropServices.Marshal.SizeOf(shinfo), SHGFI_ICON Or SHGFI_LARGEICON) 
21.
 
22.
            Me.ForeGroundImage = Icon.FromHandle(shinfo.hIcon).ToBitmap 
23.
            '------------Hier soll der Name der Datei oder der Ordner rausgefunden werden------------ 
24.
            Me.Text = System.IO.Path.GetFileName(Path) 
25.
            If Me.Text = "" Then Me.Text = New System.IO.DirectoryInfo(Path).Name 
26.
        End If 
27.
    End Sub 
28.
End Class
3. (Und letztes ) Problem:

Um die Gedroppten Objekte verarbeiten zu können, muss ich ja den Typ kennen (oder?)...
Was hat zum Beispiel die Bibliothek Dokumente (Windows 7) für einen Typ. Es ist auf jeden Fall kein DataObject mit FileDropList...(wie alle anderen Dateien)
Und wenn ich Lesezeichen aus FireFox akzeptieren lassen will? Kann man das herausfinden(mit GetType oder so), bzw. muss man das Wissen/Nachlesen?


Ich weiss es ist viel, aber ich wollte nicht mehrere Themen aufmachen und irgendwie gehören sie ja zusammen...
Wenn ihr mehr Code braucht oder sonst etwas unklar ist, bitte nachfragen!

Verzweifelt,
Mathe172
Ähnliche Inhalte
Visual Studio
GridView mit Drag-n-Drop oder vergleichbares
gelöst Frage von Aicher1998Visual Studio7 Kommentare

Guten Abend, nachdem ich bereits seit 4 Tagen an einem UserControl in C# getüftelt hab, aber nichts brauchbares geschafft ...

Batch & Shell
Drag and Drop in Powershell
gelöst Frage von mc-doubleyouBatch & Shell2 Kommentare

Hallo zusammen, inwischen habe ich mich von cmd zur Powershell vorgearbeitet, die Lösungen die mir Google aber so liefert ...

Windows Server
Server Spinnt, Drag drop
gelöst Frage von dax4funWindows Server5 Kommentare

Tag Freunde, Windows 2008 r2 : Seit einiger Zeit Schalten sich einige Sachen wie Drag & Drop, Copy Paste ...

Outlook & Mail
Outlook 2013 Drag and Drop geht nicht
Frage von Mungo-SOutlook & Mail1 Kommentar

Hallo zusammen PC Notebook Surface mit Win 10 und Office 2013, Domäne-PC, Exchange-Konto Problem: Drag and Drop geht nicht, ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 14 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 14 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 22 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server15 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Windows 10
Alle Programme mit bestimmtem Namen automatisch (per GPO) deinstallieren
gelöst Frage von lordofremixesWindows 1012 Kommentare

Hallo zusammen, gibt es eine Möglichkeit, alle Programme beginnend mit z.B. "Dell" im Namen per Script und somit per ...