У меня есть форма с listView
, которая заполняется вызовом метода showCheckedInFiles()
. Метод работает отлично, когда я добавляю простую кнопку в форму и нажимаю ее, которая вызывает метод, но когда я вызываю метод из другого места, он не заполняет мой listview
.Почему мой метод не работает?
Пожалуйста, помогите мне с ума сойти. Первый метод, приведенный ниже, вызывается из другого класса, и это показано ниже, и я включил метод кнопки для ссылки, как я уже сказал, кнопка работает отлично, но мне нужно иметь возможность вызвать метод без щелчка кнопка !!:
public void openProject(string projectname)
{
projectName = projectname;
string userDir = CSDBpath + projectname + "\\checkedOUT\\" + userName;
if (!Directory.Exists(userDir)) //Does the user's directory exist, if not, create it
{
Directory.CreateDirectory(userDir);
}
showCheckedInFiles();
}
private void button3_Click(object sender, EventArgs e)
{
showCheckedInFiles();
}
метод, который вызывает выше:
private void buttonOpenProject_Click(object sender, EventArgs e)
{
ListView.SelectedListViewItemCollection mySelectedItems;
mySelectedItems = listView1.SelectedItems;
Form1 mainform = new Form1();
string myProject = "";
foreach (ListViewItem item in mySelectedItems)
{
myProject = item.Text;
}
mainform.openProject(myProject);
//mainform.showCheckedInFiles();
this.Close();
}
Это событие не стреляет. Я отчасти потерян, вы отлаживали свой код. Иногда простая отладка может решить сложные проблемы. –
Вы не запускаете 'Show' в своей форме, насколько я могу видеть –
Боковое примечание - вы используете' projectname', если вы хотите использовать 'projectName' при инициализации 'userDir' в' openProject (...) '. Вы можете избежать путаницы и избыточности, избавившись от 'projectName' вообще, предполагая, что вы не используете его в другом месте. – Sam