PDA

View Full Version : سوال: بروز مشکل در تبدیل کد #C به VB.NET



gilsoft
دوشنبه 13 آذر 1391, 09:31 صبح
سلام دوستان

کد #C :

private System.Windows.Forms.TextBox txtCalculator;
private ComboButton btnDownArrow;
private frmCalculator calculatorForm;
public delegate void ValueChangedEvent(object sender, double value);
public event ValueChangedEvent ValueChanged=null;

کد VB.NET :

Private txtCalculator As System.Windows.Forms.TextBox
Private btnDownArrow As ComboButton
Private calculatorForm As frmCalculator
Public Delegate Sub ValueChangedEvent(sender As Object, value As Double)
Public Event ValueChanged As ValueChangedEvent = Nothing

مشکل اینه که میگه : سطرهای 4 و 5 با هم Conflicts دارند ! :متعجب: :گیج: :افسرده:

خیلی برام مهمه ! :خجالت:

مهرداد صفا
دوشنبه 13 آذر 1391, 11:55 صبح
با سلام
برای تعریف event به جای این دو خط

public delegate void ValueChangedEvent(object sender, double value);
public event ValueChangedEvent ValueChanged=null;
در vb بنویسید:

public event ValueChanged(sender as Object, value as Double)

شاه وفا ابالفضل

gilsoft
دوشنبه 13 آذر 1391, 13:15 عصر
با سلام
برای تعریف event به جای این دو خط

public delegate void ValueChangedEvent(object sender, double value);
public event ValueChangedEvent ValueChanged=null;
در vb بنویسید:

public event ValueChanged(sender as Object, value as Double)

شاه وفا ابالفضل

سلام دوست عزیز

برای جوابی که دادید .. ممنونم ...

اما مشکل من حل نشد

این لینک پروژه است ... A Calculator Control Box (http://www.codeproject.com/Articles/12393/A-Calculator-Control-Box)

در کل کنترل خوبیه .. با یه کم تغییرات تو این کنترل خیلی کارها میشه کرد

ممنون میشم اگه یکی از دوستان (مسلط به #C) این پروژه رو تبدیل کنه به VB.NET

Alirezanet
سه شنبه 14 آذر 1391, 16:18 عصر
سلام دوستان

کد #C :

private System.Windows.Forms.TextBox txtCalculator;
private ComboButton btnDownArrow;
private frmCalculator calculatorForm;
public delegate void ValueChangedEvent(object sender, double value);
public event ValueChangedEvent ValueChanged=null;

کد VB.NET :

Private txtCalculator As System.Windows.Forms.TextBox
Private btnDownArrow As ComboButton
Private calculatorForm As frmCalculator
Public Delegate Sub ValueChangedEvent(sender As Object, value As Double)
Public Event ValueChanged As ValueChangedEvent = Nothing

مشکل اینه که میگه : سطرهای 4 و 5 با هم Conflicts دارند ! :متعجب: :گیج: :افسرده:

خیلی برام مهمه ! :خجالت:

من سورس برنامتون رو دانلود نکردم هنوز ولی از ظاهر ماجرا مشخصه که مشکل چیه !
توی C#‎‎‎‎‎ برای تعریف Event باید Delegate استفاده بشه ولی توی Vb احتیاجی نیست و خود ویبی کارهای دیگه رو انجام میده ....

private System.Windows.Forms.TextBox txtCalculator;
private ComboButton btnDownArrow;
private frmCalculator calculatorForm;
public delegate void ValueChangedEvent(object sender, double value);
public event ValueChangedEvent ValueChanged=null;

به همین راحتی :
Private txtCalculator As System.Windows.Forms.TextBox
Private btnDownArrow As ComboButton
Private calculatorForm As frmCalculator

Public Event ValueChangeEvent(object sender, double value)

یه نگاهی هم به سورس انداختم !
توی C# برای Handle کردن Event ها به این شکل نوشته میشه :
Event += new delegate Event()
و به حای این قسمت باید از AddHandler استفاده کنید .
و برای اجرای Event از RaiseEvent

درکل اگه مشکل حل نشد بفرمائید دقیق کدوم قسمتها مشکل دارید کمکتون کنم . متاسفانه وقتشو نداشتم سورس رو تبدیل کنم.

nasseritemp
شنبه 21 بهمن 1391, 16:38 عصر
توی C#‎ برای Handle کردن Event ها به این شکل نوشته میشه :
Event += new delegate Event()
و به حای این قسمت باید از AddHandler استفاده کنید .
و برای اجرای Event از RaiseEvent

درکل اگه مشکل حل نشد بفرمائید دقیق کدوم قسمتها مشکل دارید کمکتون کنم . متاسفانه وقتشو نداشتم سورس رو تبدیل کنم.

من هم همچین مشکلی دارم . یه پروژه کوچیک براتوم Up میکنم اگه میشه اونو به VB تبدیل کنید