C#,winform中下拉框combox的内容想读取桌面的文件夹名称

privatevoidCB_SelectedIndexChanged(objectsender,EventArgse){DirectoryInfodir=newDirec... private void CB_SelectedIndexChanged(object sender, EventArgs e)
{
DirectoryInfo dir = new DirectoryInfo("C:\\Users\\Desktop\\test\\");

foreach (FileInfo d in dir.GetFiles())
{
CB.Items.Add(d.Name);
}
}
这段代码为什么运行了下拉框还是空的
展开
 我来答
microroom
科技发烧友

2017-08-30 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1595万
展开全部
添加一个按钮,将这里这个函数的代码放在按钮单击事件的处理函数中。同时取消对CB的SelectedIndexChanged事件的响应。下拉框是空的,是因为1、你不能在处理CB的SelectedIndexChanged事件的函数中改变CB的Items集合的值。2、目录C:\Users\Desktop\test\中可能没有文件。
更多追问追答
追问
如果添加按钮单击事件0.0那我是不是要单机完按钮才能打开下拉框
关于第二点,文档test文件夹中我放的还是一堆文件夹,我的本意就是读取test中的所有文件夹的名称
追答
1、读取文件夹的名称应该用GetDirectories()函数;
foreach(DirectoryInfo d in dir.GetDirectories())
{
CB.Items.Add(d.Name);
}
2、下拉框可以任何时候打开,但单击按钮前打开,里面是空的啊!
要不你干脆处理窗口的Load事件,将以下代码放入这个事件的处理函数中:
DirectoryInfo dir = new DirectoryInfo("C:\\Users\\Desktop\\test\\");
foreach(DirectoryInfo d in dir.GetDirectories())
{
CB.Items.Add(d.Name);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式