0
當我點擊listbox1
中的項目時,我想用列表對象填充listbox2
。如何從方法列表中獲取對象列表listBox1_MouseClick C#
private void Form1_Load(object sender, EventArgs e)
{
List<TypeDocClass> object_TypeDocs = SearchAndPopulateTiers(@"C:\TestLoadFiles", "NUM_CLIENT",sender);
this.listBox1.MouseClick += new MouseEventHandler(listBox1_MouseClick);
}
List<TypeDocClass> SearchAndPopulateTiers(string path, string searchText, object sender)
{
DirectoryInfo di = new DirectoryInfo(path);
FileInfo[] files = di.GetFiles("FAC*.txt");
var typeDocs = new List<TypeDocClass>();
foreach (FileInfo file in files)
{
string[] content = File.ReadAllLines(file.FullName);
if (content.Any(line => line.ToLower().Contains(searchText.ToLower())))
{
var numTiers = content.Select(y => y.Split('='))
.Where(y => y.Length > 1 && y[0].Trim() == "NUM_CLIENT")
.Select(y => y[1])
.FirstOrDefault();
var nomTiers = content.Select(y => y.Split('='))
.Where(y => y.Length > 1 && y[0].Trim() == "NOM_CLIENT")
.Select(y => y[1])
.FirstOrDefault();
var numFacture = content.Select(y => y.Split('='))
.Where(y => y.Length > 1 && y[0].Trim() == "NUM_FACTURE")
.Select(y => y[1])
.FirstOrDefault();
if (numTiers != null)
{
if ((listBox1.Items.Contains(numTiers) == false))
{
listBox1.Items.Add(new TiersClass
{
TiersName = nomTiers,
TiersId = numTiers
});
typeDocs.Add(new TypeDocClass { Num_Facture = numFacture, TiersId= numTiers });
}
}
else
{
string text = "My text that I want to display";
MessageBox.Show(text);
}
}
}
return typeDocs;
}
void listBox1_MouseClick(object sender, MouseEventArgs e)
{
int index = this.listBox1.IndexFromPoint(e.Location);
if (index != System.Windows.Forms.ListBox.NoMatches)
{
listBox2.DataSource = ""; //object_TypeDocs
}
}
所以,我不知道怎麼去從另一個方法對象名單,我想用在listBox1_MouseClick
object_TypeDocs
是否有可能一個新的參數添加到void listBox1_MouseClick(object sender, MouseEventArgs e)
?
Visual Studio的通知'object_TypeDocs'沒有分配,所以'object_TypDocs'是listBox1_MousClick() – Bissap
@Bissap空 - 請參閱更新 –