MetroFramework mit Winforms kein Button

  • VB.NET
  • .NET (FX) 4.0

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von mevrik.

    MetroFramework mit Winforms kein Button

    Hallo zusammen,

    ich nutze das MetroFramework Modern UI für mein Winform. Ich kann aber leider nicht alle Controls auf die Form ziehen. Z.B. wird der MetroButton nicht auf der Form dargestellt.



    Das Problem kann aber nciht am MetroFramework Modern UI liegen, denn auch im MaterialSkin gehen nicht alle Controls.

    Was bedeutet es wenn ein Control aus der Toolbox nicht auf der Form erscheint ?

    Gruß Kay

    PS: Ich habe mehrere .Net Framework versionen ausprobiert ( 3.0, 3.5, 4.0 Client Profile, 4.0 ). Bei allen das gleiche Problem. Zwei verschiedene IDEs habe ich auch probiert ( VS2013 Express und SharpDevelop ). Auch hier immer das gleiche Problem.

    kayle schrieb:

    Controls
    Dieser Button sieht mir aus, als wäre es ein Component, nicht aber ein Control, äquivalent zu SerialPort.
    Geh mal in die FormX.Designer.vb, klick auf den Namen der Klasse MetroButton und dann Gehe zu Definition, dasselbe mit der Basisklasse. Sieh mal, wo Du da rauskommst.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Habe ich getan. Hier der Code der Form1.Designer.vb:

    VB.NET-Quellcode

    1. <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
    2. Partial Class Form1
    3. 'Inherits System.Windows.Forms.Form
    4. Inherits MetroFramework.Forms.MetroForm
    5. 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
    6. <System.Diagnostics.DebuggerNonUserCode()> _
    7. Protected Overrides Sub Dispose(ByVal disposing As Boolean)
    8. Try
    9. If disposing AndAlso components IsNot Nothing Then
    10. components.Dispose()
    11. End If
    12. Finally
    13. MyBase.Dispose(disposing)
    14. End Try
    15. End Sub
    16. 'Wird vom Windows Form-Designer benötigt.
    17. Private components As System.ComponentModel.IContainer
    18. 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
    19. 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
    20. 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
    21. <System.Diagnostics.DebuggerStepThrough()> _
    22. Private Sub InitializeComponent()
    23. Me.MetroButton1 = New MetroFramework.Controls.MetroButton()
    24. Me.MetroCheckBox1 = New MetroFramework.Controls.MetroCheckBox()
    25. Me.Button1 = New System.Windows.Forms.Button()
    26. Me.SuspendLayout()
    27. '
    28. 'MetroButton1
    29. '
    30. Me.MetroButton1.Location = New System.Drawing.Point(0, 0)
    31. Me.MetroButton1.Name = "MetroButton1"
    32. Me.MetroButton1.TabIndex = 0
    33. '
    34. 'MetroCheckBox1
    35. '
    36. Me.MetroCheckBox1.AutoSize = True
    37. Me.MetroCheckBox1.Location = New System.Drawing.Point(23, 63)
    38. Me.MetroCheckBox1.Name = "MetroCheckBox1"
    39. Me.MetroCheckBox1.Size = New System.Drawing.Size(113, 15)
    40. Me.MetroCheckBox1.TabIndex = 0
    41. Me.MetroCheckBox1.Text = "MetroCheckBox1"
    42. Me.MetroCheckBox1.UseVisualStyleBackColor = True
    43. '
    44. 'Button1
    45. '
    46. Me.Button1.Location = New System.Drawing.Point(24, 94)
    47. Me.Button1.Name = "Button1"
    48. Me.Button1.Size = New System.Drawing.Size(75, 23)
    49. Me.Button1.TabIndex = 1
    50. Me.Button1.Text = "Button1"
    51. Me.Button1.UseVisualStyleBackColor = True
    52. '
    53. 'Form1
    54. '
    55. Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
    56. Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
    57. Me.ClientSize = New System.Drawing.Size(409, 212)
    58. Me.Controls.Add(Me.Button1)
    59. Me.Controls.Add(Me.MetroCheckBox1)
    60. Me.Name = "Form1"
    61. Me.Text = "Form1"
    62. Me.ResumeLayout(False)
    63. Me.PerformLayout()
    64. End Sub
    65. Private WithEvents MetroButton1 As MetroFramework.Controls.MetroButton
    66. Friend WithEvents MetroCheckBox1 As MetroFramework.Controls.MetroCheckBox
    67. Friend WithEvents Button1 As System.Windows.Forms.Button
    68. End Class


    Der Unterschied ist das Private und Friend WitheEvents. Ändere ich das ändert sich aber nichts.

    kayle schrieb:

    ändert sich aber nichts

    RodFromGermany schrieb:

    Geh mal in die FormX.Designer.vb, klick auf den Namen der Klasse MetroButton und dann Gehe zu Definition, dasselbe mit der Basisklasse. Sieh mal, wo Du da rauskommst.

    Dahin rechts klicken. und ==>
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Das sollten Controls sein. Sieh mal nach, wie die Visible- und Enabled-Properties stehen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    kayle schrieb:

    oder
    K.A., ich kann das nicht nachvollziehen ohne die Metro-DLL.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    kayle schrieb:

    funktioniert
    Mein Studio zeigt die in der Toolbar nicht an.
    Da hab ich einen MS-Button erstellt und diesen im Designercode durch MetroButton ersetzt. Jou, das sieht bei mir ganz genau so blöde aus.
    Kann ers sein, dass die Dinger für WPF gemacht sind?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ModernUI gibt es auch für Windows Forms? Das ist doch normal WPF?

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Hallo Freunde ich habe endlich rausgefunden wie man das Problem behebt.
    Um alle Komponeten in die Toolsbox zu beckommen muss man die DLL mit der Maus per Drag and Drop in die Toolbox verschieben.

    Projekt Ordner ( bei mir heist der Pfard
    ...\Projects\Metro4\packages\MetroFramework.RunTime.1.2.0.3\lib\net40-Client ) öffnen, dann mit der Maus in VS Toolbox die
    MetroFramework.dll rein ziehen. (nur eine DLL)

    Mit "Elemente auswählen" wie in meinche Vidoes gezeigt sind nicht alle Steuerelemente übertragen worden.

    FrameWork 4.0 WF, Visual Studio Community 2015 C#, Windows 10 (aber auch anderen konfigurieren ausprobert)

    Grüßen MeVrIk