Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 14:29

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Visual Basic] Eigener Button

Discussion on [Visual Basic] Eigener Button within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jun 2012
Posts: 27
Received Thanks: 7
[Visual Basic] Eigener Button

Hier zeige ich euch mal, wie ihr in VB 2010 einen eigenen Button erstellen könnt.



Zuerst erstellt ihr ein neues Projekt, undzwar eine Klassenbibliothek.
Die könnt ihr nennen, wie ihr möchtet.
Nun fügt ihr die Verweise:
Code:
System.Windows.Forms.Dll 
System.Drawing
..hinzu.
Diese findet ihr normal in dem Ordner:
"
Code:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0
"



Nun schreibt ihr da wo Class1 steht einen belibigen Namen eures Controls hin.
z.B "Button2"

Als nächstes importiert ihr:
Code:
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Drawing.Drawing2D
und davor schaltet ihr:
Code:
Option Strict On
Jetzt schreibt ihr in eure Klasse:
Code:
 Inherits System.Windows.Forms.Button
Und gebt damit eurem Control den "Status" und die Funktion eines Buttons.

Nun machen wir uns 3 Properties:
Code:
   Public Property Color_1 As Color = Color.Red
    Public Property Color_2 As Color = Color.Red
    Public Property Text_1 As String = "Hallo"
Damit fügen wir in unserem Eigenschaftenfenster Die Funktionen:
Code:
Color_1 
Color_2
Text_1
...ein



Nun schreiben wir einen Sub, in dem wir mit GDI zeichnen:
Code:
  Protected Overrides Sub onPaint(ByVal e As PaintEventArgs)
Code:
 MyBase.OnPaint(e)
schreiben wir als Erstes.

Dann bestimmen wir die Größe unseres Objekts:
Code:
  Dim größe As New Rectangle(0, 0, Me.Width, Me.Height)
Anschließend Optionen für den Text:
Code:
      Dim fnt As New Font("Arial", 10)
Danach wieder etwas für den Text:
Code:
    Dim sz As SizeF = e.Graphics.MeasureString(Text_1, fnt)
Nun die Umrandung des Buttons:
Code:
   Dim pn As New Pen(New SolidBrush(Color.Black), 2)
Jetzt lassen wir uns das Ganze hiermit anzeigen:
Code:
  Using lgb As New LinearGradientBrush(größe, Color_1, Color_2, LinearGradientMode.BackwardDiagonal)
            e.Graphics.FillRectangle(lgb, größe)
            e.Graphics.DrawRectangle(pn, 0, 0, Me.Width, Me.Height)
            e.Graphics.DrawString(Text_1, fnt, Brushes.Black, (Me.Width - sz.Width) / 2, (Me.Height - sz.Height) / 2)
        End Using
Zuerst sagen wir, dass wir einen Farbverlauf wollen. Bei keinem Farbverlauf einfach:
Code:
Color_1 = Color.Black
Color_2 = Color_1
Dann füllen wir ein Rechteck mit diesem Farbverlauf und wählen dabei die Größe und Koordinaten des Buttons.

Anschließend zeichen wir den Rand mit quasi dem selben Schema, zum Schluss wird der Text in die Mitte des Buttons gesetzt. Fertig! Im OnPaint Event kann übrigends ganz viel mit GDI gezeichnet werden...Runde Buttons etc...

Nun wollt ihr ja auch sehen, wie es aussieht. Klickt dafür einmal auf "debuggen". Es kommt ein Fehler, ihr Klickt auf OK und fügt eurem Projekt eine WindowsForm hinzu. Ihr geht in den Form Designer und guckt in die Toolbox. Normal müsstet Ihr auf den ersten Blick euer Control beim gegebenen Namen finden. Einfach auf die Form ziehen und im Eigenschaftenfenster runterscrollen, bis ihr Color_1 etc. findet. Dort könnt ihr nun auswählen, was ihr möchtet.

Zum erstellen einer .DLL geht ihr auf "Erstellen" -> "Projektname erstellen" Und findet eure .DLL nun in der regel bei:
Code:
Visual Studio 2010\Projects\Button_1\Button_1\bin\Debug
Nun könnt ihr eure DLL in eine WindowsFormsAnwendung einbinden, indem ihr in die Toolbox einen Linksklick macht, Auf "ToolboxElemente auswählen" klickt, eure DLL auswählt und das Gnaze bestätigt. Nun findet ihr euren eigenen Button in der ToolBox und könnt ihn wie jeden anderen Button benutzen.

Hier eine von vielen Möglichkeiten:



Ich hoffe ich konnte euch etwas helfen
Lasst ein "Thanks" da, wenn nicht, auch egal
LaMiy is offline  
Thanks
6 Users
Old 08/25/2012, 14:11   #2

 
P00w's Avatar
 
elite*gold: 186
Join Date: Sep 2010
Posts: 1,519
Received Thanks: 491
Super TUT!
P00w is offline  
Thanks
1 User
Old 08/27/2012, 01:44   #3
 
elite*gold: 0
Join Date: Apr 2012
Posts: 1,284
Received Thanks: 115
Ist mal witzig
DerB0ss is offline  
Thanks
1 User
Old 08/30/2012, 18:05   #4
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
Für sowas gibt es doch extra das Benutzersteuerelement, oder etwa nicht?
Kraizy​ is offline  
Old 08/31/2012, 19:33   #5
 
elite*gold: 0
Join Date: Jun 2012
Posts: 27
Received Thanks: 7
Natürlich, aber der normale Button sieht schrecklich aus
LaMiy is offline  
Old 08/31/2012, 19:40   #6
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
Da kannst du auch malen^^
sieht am Ende genauso aus, nur find ich geht das viel schneller und einfacher mit einem Benutzersteuerelement.
Kraizy​ is offline  
Old 08/31/2012, 20:06   #7
 
elite*gold: 0
Join Date: Jun 2012
Posts: 27
Received Thanks: 7
Ich finde es so besser, vorallem kannst du es ja in die ToolBox hinzufügen und kannst dann beliebig Farben und so ändern. Es gibt ja nicht nur diese Möglichkeit, im Paint kannst du alles zeichen. Auch runde z.B Oder, ka, eine 2D Animation dadrauf
LaMiy is offline  
Old 08/31/2012, 20:10   #8
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
Genau dafür gibt es das Benutzersteuerelement. Dieses wird danach auch automatisch in der Toolbox angezeigt, dort kannst du auch alles mögliche anpassen, malen, Eigenschaften hinzufügen etc.
Kraizy​ is offline  
Old 08/31/2012, 23:14   #9
 
elite*gold: 0
Join Date: Jun 2012
Posts: 27
Received Thanks: 7
Dann nimm dies, ist im prinzip ja das Selbe
Nur das finde ich schöner
LaMiy is offline  
Old 10/22/2012, 23:58   #10
 
elite*gold: 0
Join Date: Oct 2012
Posts: 23
Received Thanks: 0
Ich mache das gerne mit einer Picturebox und stelle da verschiedene Bilder bei MouseEnter, MouseLeave... ein.
darkoty is offline  
Old 10/23/2012, 00:02   #11
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
Quote:
Originally Posted by darkoty View Post
Ich mache das gerne mit einer Picturebox und stelle da verschiedene Bilder bei MouseEnter, MouseLeave... ein.
Dann tu dies bitte nicht mehr.
Kraizy​ is offline  
Old 10/23/2012, 08:37   #12



 
Shawak's Avatar
 
elite*gold: 0
The Black Market: 259/0/0
Join Date: Apr 2010
Posts: 10,291
Received Thanks: 3,611
Quote:
Originally Posted by Kraizy​ View Post
Für sowas gibt es doch extra das Benutzersteuerelement, oder etwa nicht?
.. und ist viel 'schöner'.
Shawak is offline  
Old 01/21/2013, 20:48   #13
 
elite*gold: 75
The Black Market: 125/0/5
Join Date: Nov 2012
Posts: 2,454
Received Thanks: 321
schönes Tutorial, gefällt mir sehr gut.

Nur ist der Button in 2D und man sieht nicht ob man ihn gedrückt hat oder nicht :/
ҳc3ρ0™ is offline  
Old 01/27/2013, 17:34   #14

 
adistoe's Avatar
 
elite*gold: 63
Join Date: Oct 2012
Posts: 1,181
Received Thanks: 139
Nice TUT.
ABER! Soweit ich weiss, muss die dll dann immer mitgeliefert werden, damit das Programm noch läuft.

Also warum nicht im Projekt eine Klasse schreiben?
Geht meiner Meinung nach besser.

mfg
adistoe
adistoe is offline  
Reply


Similar Threads Similar Threads
Visual Basic NET |Mein eigener Minecraft Launcher |Mit Source Code zur Überprüfung
06/12/2012 - .NET Languages - 7 Replies
Hallo zusammen, es ist mal wieder soweit. Ich möchte euch gerne meinen Minecraft Launcher vorstellen, denn ich in Microsoft Visual Basic 2008 Express erstellt habe. Der Launcher wurde für gecrackte Spieler erstellt, die keinen Geld haben um MC zu kaufen. :P Der Launcher ist dem Orginalen Launcher ähnlich und startet mit mit der gleichen Startseite. Er kann Skins klauen, Willkommensnachrichten senden ("hihi"), automatisch die neuste Version von Minecraft herunterladen ("Hauptpunkt")...
Visual Basic - Button klicken wenn man F1 drückt ?
10/15/2011 - .NET Languages - 10 Replies
Geklärt, danke !



All times are GMT +2. The time now is 14:29.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.