سلام، من توی یک solution یک پروژه ی VB و یک پروژه C# دارم ، آیا راهی هست که از درون فرم پروژه سی شارپ ، به آبجکت های فرمی از پروژه وی بی دسترسی پیدا کنم؟
سلام، من توی یک solution یک پروژه ی VB و یک پروژه C# دارم ، آیا راهی هست که از درون فرم پروژه سی شارپ ، به آبجکت های فرمی از پروژه وی بی دسترسی پیدا کنم؟
چون 2 تا پروژه جدا از هم هستن نمی تونی مستقیم به هم ارتباطشون بدی ...
1- استفاده از یه فایل واسط که اطلاعات رو توسط یکی توش بنویسی و توی دیگری بخونیو به این روش اطلاعات رو جابه جا کنی ....
2- استفاده از سرویس ، یک سرویس بنویسی و به کمک اون 2 تا برنامه رو به هم ارتباط بدی ...
نکته : اگر پروژه دوم توسط پروژه پروژه اول اجرا میکند یا برعکس میتونید متغیر هایی که لازم هست اشتراکی باشه public تعریف کنید و بهشون دسترسی داشته باشید.
( ابتدا قبل از انجام عمل زیر باید از قسمت add reference ، اون یکی پروژه رو به پروژتون رو اضافه کنید )
مثال:
درپروژه vb:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim vr As New Cproject.Form1
vr.Show()
vr.settext("call function!")
End Sub
در پروژه C#:
public void settext(string text) // function is in form1
{
textBox1.Text = text;
}
برعکس عمل فوق هم به راحتی قابل انجام هست...
پروژرو در قسمت add reference گفتین اضافه کنه منظورتون فایل exe هست؟
یعنی بعد از اضافه کردن پروژه B به پروژه A میشه به متغییر های public پروژه B دسترسی پیدا کرد؟ به متدهاشم میشه؟ به چیز دیگه ایش هم میشه؟
راه حل سومی که من گفتم ، وقتی شما روی پروژه add reference رو میزنی در قسمت Solution -> Project اسم پزوژه های دیگه میاد از اننجا انتخاب میکنید ....
نکته : این راحل فقط زمانی کار می کنه که پروژه دوم توسط پروژه اول ران بشه ( از داخل سورس مثل مثال بالا ) ... ، و در صورتی که شما 2 تا فایل exe رو دستی (کلیک رو فایلش) اجرا کنید قابل استفاده نیست و باید از راه 1 و 2 استفاده کنید.
شما وقتی از فرم نمونه سازی میکنید میتونید خیلی راحت به متغیرهای public هم دسترسی داشته باشید.
mycshapproject.Form1 f = new mycshapproject.Form1;
f.myfunction()
f.show()
//function in form1
public void myfunction()
{
//do
}
حالا اگه میخای از فرم دومی که نشون ( از پروژه دیگه ) دادی به برنامه اصلی دسترسی داشته باشی اون یه مسئله دیگس...
آخرین ویرایش به وسیله saied_hacker : جمعه 31 خرداد 1392 در 12:26 عصر
کار راحت تر این است که در ویبی در رجیستری با savesetting دستور خودت رو سیو کنی و در سی شارپ در رجیستری منتظر دستور باشه
برادر شما میتونید از این پروژه برای تغییر زبان استفاده کنی و اون رو ذخیره کنی موقعی که وارد میشی فارسی رو نشان بده یا انگلیسی رو.http://uplod.ir/b44n032ta9gm/Finglishtopersian.rar.htm
موفق باشید.