بله...خیلی ممنونم..همون مشکل تعریف لیست دو بعدی رو داشتم که حل شد خوشبختانه...
فقط یه سوال دیگه هم دارم :
من یک پروژه به سلوشن اضافه کردم...حالا میخوام به یکی از فرم های پروژه دیگر دسترسی پیدا کنم...اصلا همچین کاری شدنی هست؟...
یا راه حل دیگه ای رو باید در نظر بگیرم؟
با تشکر از پاسخ هاتون...
Solution می تونه شامل چندین پروژه باشه، در این مورد محدودیت خاصی ندارید. می توانید Solution ای داشته باشید که از دو پروژه #C و یک پروژه Visual Basic تشکیل شده باشه.
می تونه سه تا شون پروژه اجرایی باشه یا ترکیبی از پروژه اجرایی و پروژه کتابخانه توابع.
منوی File گزینه Add گزینه ...New Project یا ...Existing Project را انتخاب کنید.
اگر در پنجره Solution Explorer ویژوال استدیو خود Solution را انتخاب کنید، یک مشخصه Startup Project داره که پروژه اصلی که اجرا ازش آغاز میشه را تعیین می کنه.
اگر روی هر کدام از پروژه ها در Soution Explorer راست کلیک کنید گزینه ...Add Reference داره. اونجا می توانید در زبانه Projects اون Reference مورد نظرتون را از داخل خود Solution
انتخاب کنید. یعنی به ویژوال استدیو اعلام می کنید که فلان پروژه برای اجرا به فلان پروژه دیگه احتیاج داره و به فرم ها و سایر بخش های داخلش دسترسی خواهد داشت.
وقتی اینکار رو انجام دادید یکبار خود Solution را بصورت کامل کامپایل و Build کنید، بدون خطا. وگرنه پیش از کامپایل اجزاء پروژه Reference شده آماده استفاده نیست.
در مثال زیر در Solution مربوط به پروژه CSharpA پروژه VisualBasicA اضافه شده و همچنین داخل پروژه CSharpA پروژه VisualBasicA بصورت Reference قرار گرفته.
فرم Form1 داخل پروژه ویژوال بیسیک از داخل پروژه سی شارپ ایجاد شده و نمایش داده میشه :
کد:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace CSharpA
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
using (var f1 = new VisualBasicA.Form1())
{
f1.ShowDialog(this);
}
}
}
}
اما هر چقدر پروژه ها بیشتر و حجم اش سنگین تر بشه طبعا روی سرعت ویژوال استدیو تاثیر منفی داره.