[英]accessing form elements from a class
我試圖制作這個代碼:
public void _open_Click_1(object sender, EventArgs e)
{
_playList.Items.Clear();
_openFile.Multiselect = true;
_openFile.Filter = "Mp3 Files|*.mp3|Avi Files|*.avi|Mp4 Files|*.mp4";
_openFile.ShowDialog();
doc = _openFile.SafeFileNames;
path = _openFile.FileNames;
for (int i = 0; i < doc.Length; i++)
{
_playList.Items.Add(doc[i]);
}
}
從一個類中,所以我創建了一個名為 mplayer 的類,然后創建了一個表單實例並將所有代碼放在那里
假設發生的是當我單擊按鈕文件對話框打開並且所有選定的歌曲名稱由於某種原因進入列表框時它不會打開並且沒有編譯或異常錯誤彈出請告知
如我所見,事件處理程序已正確分配。 順便說一句,試試這個代碼,它在我的項目中工作:
public Form1()
{
InitializeComponent();
_open.Click += new EventHandler(_open_Click_1);
}
private void _open_Click_1(object sender, EventArgs e)
{
_openFile = new OpenFileDialog();
_playList.Items.Clear();
_openFile.Multiselect = true;
_openFile.Filter = "Mp3 Files|*.mp3|Avi Files|*.avi|Mp4 Files|*.mp4";
_openFile.ShowDialog();
var doc = _openFile.SafeFileNames;
var path = _openFile.FileNames;
for (int i = 0; i < doc.Length; i++)
{
_playList.Items.Add(doc[i]);
}
}
注意:我對選定的文件名和路徑使用了局部變量。
也許我沒有很好地解釋自己。 我試圖調用一個這樣做的類。 像這樣
public static class mplayer
{
public static void openMusic()
{
PhoenixDownloader.searchForm frm = new searchForm();
frm._playlist.items.clear();
frm._openfile.multiselect = true;
frm._openfile.filter = "mp3 files|*.mp3|avi files|*.avi|mp4 files|*.mp4";
frm._openfile.showdialog();
frm.doc = frm._openfile.safefilenames;
frm.path = frm._openfile.filenames;
for (int i = 0; i < frm.doc.length; i++)
{
frm._playlist.items.add(frm.doc[i]);
}
}
}
}
在事件部分:
public void _open_Click_1(object sender, EventArgs e)
{
mplayer();
}
它不會發生
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.