PDA

View Full Version : سوال: چگونه می توان تمامی آیتم های لیست باکس را در حافظه کلیپ برد کپی کرد ؟



dele_ghamgin_2008
یک شنبه 13 اردیبهشت 1394, 10:50 صبح
سلام . مطابق شکل زیر من یک لیست باکس دارم با چندین آیتم . می خواهم وقتی روی باتن کلیک کردم همه آیتم های لیست باکس در حافظه کلیپ برد صورت زیر همی کپی برداری شود. لطفا راهنمایی کنید. البته من کپی یک آیتم رو بلدم که وقتی روی آیتم کلیک شد اون آیتم در حافظه کپی شود . میخواهم حالا وقتی روی باتن کلیک شد همه آیتم ها کپی شود . کدی که خودم بلدم رو میذارم :

string SelectedItem = "";
foreach (object object1 in lstOne.SelectedItems)
{
SelectedItem += object1.ToString();
}
Clipboard.SetText(SelectedItem);


130823

dele_ghamgin_2008
یک شنبه 13 اردیبهشت 1394, 11:01 صبح
البته خودم تا یه جایی رو موفق شدم ولی مشکلم با اینتر هست . چگونه هر آیتم را اینتر بزنم ؟

//آیتم ها را در حافظه کپی می کند
string SelectedItem = "";
foreach (object object1 in lstOne.Items)
{
SelectedItem += object1.ToString()+"\n";

}
Clipboard.SetText(SelectedItem);

dele_ghamgin_2008
یک شنبه 13 اردیبهشت 1394, 11:14 صبح
البته با یه ترفند دیگه به جواب نهایی رسیدم :


for (int i = 0; i < lstOne.Items.Count; i++)
{
richTxtKeywords.Text += lstOne.Items[i].ToString()+"\n";
}
richTxtKeywords.SelectAll();
richTxtKeywords.Copy();

csharp.net
یک شنبه 13 اردیبهشت 1394, 11:39 صبح
اینطوری بهتره بدون ترفند ...تو رویداد کلیک دکمه بنویسید


try
{
StringBuilder sb = new StringBuilder();
foreach (object row in listBox1.SelectedItems)
{
sb.Append(row.ToString());
sb.AppendLine();
}
sb.Remove(sb.Length - 1, 1); // Just to avoid copying last empty row
Clipboard.SetData(System.Windows.Forms.DataFormats .Text, sb.ToString());
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}