PDA

View Full Version : نام تمام فرمهای باز شده برنامه در لیست باکس



علی فتحی
سه شنبه 20 مرداد 1394, 20:56 عصر
سلام: چگونه میتوان نام تمام فرمهای باز شده در فرم پدر یا برنامه رو در یک لیست باکس قرارداد.
این کد انجام میده فقط مشکلی داره لیست نمیشه.

FormCollection openform = Application.OpenForms;
foreach (Form appform in openform)
{
//strFormName += appform.Name.ToString();
listViewEx1.Items.Add(appform.Name.ToString());
}

ژیار رحیمی
چهارشنبه 21 مرداد 1394, 01:56 صبح
اینمیه نمونه کد دیگه

listBox1.Items.AddRange(Application.OpenForms.Cast<Form>().Select(c=>c.Name).ToArray());

علی فتحی
چهارشنبه 21 مرداد 1394, 02:26 صبح
دوست خوبم کد شما اصلا هیچیش درست نیست کلا اخطار میده

ژیار رحیمی
چهارشنبه 21 مرداد 1394, 02:31 صبح
سلام من تست کردم بعد گذاشتم

علی فتحی
پنج شنبه 22 مرداد 1394, 00:11 صبح
ممنون اقی زاگروتی عزیز درست شد قربان دقیقا همونی که میخواستم دلیلش این کمپونت دات نت بار بود.listViewEx1

یک سوال دیگه: چگونه با کلیک روی هر ایتم لیست باکس فرم مربوط به همون ایتم انتخاب بشه مثلا frm2.Focus();

ژیار رحیمی
پنج شنبه 22 مرداد 1394, 02:35 صبح
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
var strname = listBox1.SelectedItem.ToString();
var frm = Application.OpenForms.Cast<Form>().FirstOrDefault(c => c.Name == strname);
if (frm != null)
frm.Activate();
}