تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كيفية تحويل مشروع من c# الى vb.net
#5
أغلب الظن هو أنك تجيد اللغتين
عايز مساعدة في تحوبل الكود ليه بقي؟
عموما المشكلة الوحيدة التي قد تقابلك في تحويل الكود هي Handlers و Delegates فأسلوب كتابتهم مختلف في اللغتين

الكلاس EmoticonMenuItem


PHP كود :
Public Class EmoticonMenuItem
    Inherits MenuItem

    Private 
Const ICON_WIDTH As Integer 19
    Private 
Const ICON_HEIGHT As Integer 19
    Private 
Const ICON_MARGIN As Integer 4
    Private _backgroundColor 
As Color
    Private _selectionColor 
As Color
    Private _selectionBorderColor 
As Color
    Private _image 
As Image

    Public Sub 
New(img As Image)
 
       Me.New()
 
       Me._image _image
    End Sub

    Public Sub 
New()
 
       MyBase.OwnerDraw True
        Me
._backgroundColor SystemColors.ControlLightLight
        Me
._selectionColor Color.FromArgb(5000150)
 
       Me._selectionBorderColor SystemColors.Highlight
    End Sub

    Public Property Image
() As Image
        Get
            Return Me
._image
        End Get
        Set
(value As Image)
 
           Me._image value
        End Set
    End Property

    Protected Overrides Sub OnDrawItem
(As DrawItemEventArgs)
 
       'MyBase.OnDrawItem(e)
        Dim g As Graphics = e.Graphics
        Dim bounds As Rectangle = e.Bounds
        Dim selected As Boolean = (e.State And DrawItemState.Selected) <> DrawItemState.None
        Me.DrawBackground(g, bounds, selected)
        If Me._image IsNot Nothing Then
            Dim x As Integer = CInt(bounds.X + (bounds.Width - ICON_WIDTH) / 2)
            Dim y As Integer = CInt(bounds.Y + (bounds.Height - ICON_HEIGHT) / 2)
            g.DrawImage(Me._image, x, y)

        End If
    End Sub

    Protected Overrides Sub OnMeasureItem(e As MeasureItemEventArgs)
        '
MyBase.OnMeasureItem(e)
 
       e.ItemHeight 17
        e
.ItemWidth 23
    End Sub

    Private Sub DrawBackground
(As Graphicsbounds As Rectangleselected As Boolean)
 
       If selected Then
            g
.FillRectangle(New SolidBrush(Me._selectionColor), bounds)
 
           g.DrawRectangle(New Pen(Me._selectionBorderColor), bounds.Xbounds.Ybounds.Width 1bounds.Height 1)
 
       Else
            g
.FillRectangle(New SolidBrush(Me._backgroundColor), bounds)
 
       End If
 
   End Sub

End 
Class 

الكلاس RtfCodes
أضف فورم عادي جدا للمشروع و اعطه الاسم RtfCodes
واكتب الكود بالشكل التالي
PHP كود :
Imports System.Text

Public Class RtfCodes

    Private line 
As Integer
    Private sb 
As StringBuilder

    Public Sub 
New(owner As Form)

 
       ' This call is required by the designer.
        InitializeComponent()

        ' 
Add any initialization after the InitializeComponent() call.
 
       MyBase.Owner owner
        MyBase
.Width owner.Width
        MyBase
.Height owner.Height 2
        MyBase
.StartPosition FormStartPosition.Manual
        MyBase
.Location = New Point(MyBase.Owner.Location.XMyBase.Owner.Location.MyBase.Height SystemInformation.CaptionHeight)

 
   End Sub

    Public Sub AppendText
(As String)
 
       Me.line += 1
        Me
.sb = New StringBuilder()
 
       Me.sb.Append("<")
 
       Me.sb.Append("Line ")
 
       Me.sb.Append(Me.line)
 
       Me.sb.Append(">")
 
       Me.sb.Append(" ")
 
       Me.sb.Append(s)
 
       Me.TextBox1.Text += sb.ToString
    End Sub

End 
Class 


الكلاس الأخير IMWindow
مشكلتك هنا انك بتستخدم مكتبة اسمها Khendys.Controls.ExRichTextBox
غليك ان تضيف المكتبة الي ToolBox الخاصة بالفيجوال استوديو و ذلك لسهولة سحبها الي الفورم و حتي تتفادي كتابة كل شئ باستخدام الكود
ثم عليك أن تضيف بقية الكونترول الأخري و تضبط أماكنهم علي الفورم

أيضا عليك أن تضيف صور Emoctions الي Resources المشروع و تملأها كالتالي


PHP كود :
   Private Sub GetEmoctions()
 
       Me.emoticons = New Image(8) {}
 
       Me.emoticons(0) = My.Resources.AngelSmile
        Me
.emoticons(1) = My.Resources.AngrySmile
        Me
.emoticons(2) = My.Resources.Beer
        Me
.emoticons(3) = My.Resources.BrokenHeart
        Me
.emoticons(4) = My.Resources.ConfusedSmile
        Me
.emoticons(5) = My.Resources.CrySmile
        Me
.emoticons(6) = My.Resources.DevilSmile
        Me
.emoticons(7) = My.Resources.EmbarassedSmile
        Me
.emoticons(8) = My.Resources.ThumbsUp
    End Sub 
Retired
الرد }}}
تم الشكر بواسطة: Sajad , sendbad100 , alims , dubai.eig , dubai.eig


الردود في هذا الموضوع
RE: كيفية تحويل مشروع من c# الى vb.net - بواسطة silverlight - 12-07-18, 03:15 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مشروع] مشروع لاضافة رسم بيانى محتاج التدخل لاصلاحه dr.programming 0 219 09-11-25, 01:48 AM
آخر رد: dr.programming
  كيفية منع ظهور الأخطاء من إعدادات البيسيك mmaalmesry 2 855 29-08-25, 10:30 AM
آخر رد: mmaalmesry
  كيفية جلب أسماء الأعمدة بجدول من جداول sql heem1986 2 749 17-08-25, 09:15 PM
آخر رد: heem1986
  كيفية حفظ إعدادات البرنامج بحيث لا تتغير أحمد إبراهيم سعد 4 3,004 06-08-25, 06:34 PM
آخر رد: Taha Okla
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,263 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  [VB.NET] مشروع للاستأناس EMADW 3 539 02-04-25, 04:20 PM
آخر رد: princelovelorn
  مساعدة في تحويل الكود من فيجوال بسيك 6 الى فيجوال دوت نت سيد أحمد 5 821 23-03-25, 10:54 PM
آخر رد: سيد أحمد
  [VB.NET] اذا ممكن مشروع ادارة مدرسة بدر إشتية 4 8,538 08-02-25, 02:05 AM
آخر رد: الورد2
  كيف يمكن تحويل ملف تنفيذى الى فيجوال بيسك 2010 walkady 2 782 07-02-25, 07:57 PM
آخر رد: الورد2
  طريقه تحويل اى قاعده بيانات الى ملف dll فى المشروع خالد كامل1 1 637 31-01-25, 10:21 PM
آخر رد: Kamil

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم