منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] لعمل التكست بوكسText box , Button بشكل دائرى الحواف - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم امثلة ومشاريع VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=188)
+--- الموضوع : [VB.NET] لعمل التكست بوكسText box , Button بشكل دائرى الحواف (/showthread.php?tid=46823)



لعمل التكست بوكسText box , Button بشكل دائرى الحواف - Ameenh - 28-08-23

السلام عليكم ورحمة الله 

لعمل التكست بوكسText box , Button بشكل دائرى الحواف وممكن تجرب اى tool 




  1. عمل Class ,Form ثم كتابة هذ الكود 
    Imports SystemImports System.DrawingImports System.Runtime.InteropServicesImports System.ComponentModelPublic Class RoundButton    Inherits Button    <DllImport("gdi32.dll", entrypoint:="CreateRoundRectRgn")>    Private Shared Function CreateRoundButton(ByVal nLeftRect As Integer, ByVal nTopRec As Integer,                                               ByVal nRightRec As Integer, ByVal nBottomRec As Integer,                                               ByVal nHighRec As Integer, ByVal nWidthRec As Integer) As IntPtr    End Function    Protected Overrides Sub OnCreateControl()        MyBase.OnCreateControl()        Me.Region = System.Drawing.Region.FromHrgn(CreateRoundButton(2, 3, Me.Width, Me.Height, 20, 20))    End Sub    Protected Overrides Sub OnResize(e As EventArgs)        MyBase.OnResize(e)        Me.Region = System.Drawing.Region.FromHrgn(CreateRoundButton(2, 3, Me.Width, Me.Height, 20, 20))    End SubEnd Class
  2. ستجد ان RoundButton اضيفت الى Toolbox 
  3. اذا اردت عمل اى Tool اخر يكفى تغيير اسم [b]Button الى Textbox او الى Label[/b]
    وشكرا



RE: لعمل التكست بوكسText box , Button بشكل دائرى الحواف - Taha Okla - 28-08-23

وعليكم السلام ورحمة الله وبركاته

نفس الكود ولكن :
- بعد تعديل بسيط على الحواف.
- وبالتنسيق ضمن مربع عرض الأكواد - تسهيلاً لنسخ الأكواد منه أو عرضها :

كود :
Imports System
Imports System.Drawing
Imports System.Runtime.InteropServices
Imports System.ComponentModel

Public Class RoundButton
   Inherits Button

   <DllImport("gdi32.dll", EntryPoint:="CreateRoundRectRgn")>
   Private Shared Function CreateRoundButton(ByVal nLeftRect As Integer, ByVal nTopRec As Integer, ByVal nRightRec As Integer, ByVal nBottomRec As Integer, ByVal nHighRec As Integer, ByVal nWidthRec As Integer) As IntPtr

   End Function

   Protected Overrides Sub OnCreateControl()
       MyBase.OnCreateControl()
       Me.Region = System.Drawing.Region.FromHrgn(CreateRoundButton(2, 2, Me.Width - 2, Me.Height - 2, 20, 20))
   End Sub

   Protected Overrides Sub OnResize(e As EventArgs)
       MyBase.OnResize(e)
       Me.Region = System.Drawing.Region.FromHrgn(CreateRoundButton(2, 2, Me.Width - 2, Me.Height - 2, 20, 20))
   End Sub

End Class



RE: لعمل التكست بوكسText box , Button بشكل دائرى الحواف - Ameenh - 29-08-23

طيب فى سؤال 


اذا انا عايز اعمل التكست بوكس او البوتون من جنب دائرى الحواف ومن جانب اخر الحواف ب صفر يعنى غير دائرية
كيف يكون الكود؟ اخى Taha Okla