Buttons

Wyatt

Erfahrenes Mitglied
Aloha!

Ich bastel zur Zeit etwas mit C# um mit den Windows Forms besser zu recht zu kommen!
Nun versuche ich zwei Buttons anzeigen zu lassen, jedoch mit transparentem Hintergrund (Form)... soweit klappt das!

Das Problem ist nun nur, dass ich immer leichte Linien (wie einen Rahmen) um die zwei Buttons habe und ich weiss nicht, wie ich diese wegbekomme, orientiert habe ich mich an einem Beispielprogramm von Alex...

Code von einem Button:
C#:
this.btn.BackColor = System.Drawing.SystemColors.Control;
this.btn.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btn.Location = new System.Drawing.Point(47, 68);
this.btn.Name = "btn";
this.btn.Size = new System.Drawing.Size(125, 25);
this.btn.TabIndex = 1;
this.btn.Text = "Fill Progressbar";
this.btn.UseVisualStyleBackColor = false;
this.btn.Click += new System.EventHandler(this.BtnClick);

Grüße
Felix
 
So,.. habs kurz ausprobiert.

Die VisualStyles sind aktiviert, stimmts?

Wennst Application.EnableVisualStyles(); auskommentierst, sehen die Buttons zwar so aus wie beim klassischen Windows, aber der "Rahmen" sollte weg sein.

Im Beispiel von mir wirds nicht benutzt,.. Wirst aber wohl ein neues Projekt erstellt haben, da ists schon eingestellt. (Bei VisualStudio 2005 / C# Express)

Hast diese einfachen Zeichensachen auch übernommen? Das was ich da mit GetDC und dann mit dem Graphics Objekt gemacht habe, solltest draussen lassen, ist nicht wirklich perfekt. *g*

lg, und gute Nacht. :)
 
Hola

wunderbar, hat funktioniert... Dankeschön :)
Ich benutze SharpDevelop... aber mal sehen, vielleicht steig ich ja auch um auf C# Express :)

Das was ich da mit GetDC und dann mit dem Graphics Objekt gemacht habe, solltest draussen lassen, ist nicht wirklich perfekt. *g*

Auszug aus deinem Quellcode
C#:
[DllImport("user32.dll", CharSet=CharSet.Auto)]
		public static extern IntPtr FindWindow(
		    [MarshalAs(UnmanagedType.LPTStr)]
		        string lpClassName,
			[MarshalAs(UnmanagedType.LPTStr)]
				string lpWindowName );

		[DllImport("user32.dll")]
		public static extern IntPtr SetParent(
				IntPtr hWndChild,
				IntPtr hWndNewParent );

		[DllImport("user32.dll")]
		public static extern IntPtr GetDC(long hwnd);
Was macht der Quellcodeteil?! Da habe ich absolut garnichts verstanden...
Teilweise sind Attribute drinne, soviel habe ich gelernt *g*

Grüße & Gute Nacht
Felix
 
Zuletzt bearbeitet:
Dieser Quellcodeteil importiert die Methoden FindWindow, GetParent und GetDC aus der User32.dll, die zur WinAPI gehört.
 
Zurück