C# ComboBox控件 动态生成下拉菜单 20
比如有C盘D盘E盘F盘则下拉菜单是C:\D:\E:\F:\四个选项当盘符名称改变或者个数改变时下拉菜单则改变这一功能怎么去实现麻烦请给个思路谢谢了...
比如有 C盘 D盘 E盘 F盘 则下拉菜单是 C:\ D:\ E:\ F:\ 四个选项 当盘符名称改变或者个数改变时 下拉菜单则改变 这一功能怎么去实现 麻烦请给个思路 谢谢了
展开
展开全部
先循环获取系统盘符,每获取一个盘符在combobox里add这个盘符。关于改变,这个你需要重写windows的消息。一旦发现有改变,则从新走上面的一步
追问
能给帮我写下代码吗?刚开始学c#,很多地方不懂。
追答
项目里引用System.Management
下面是代妈
public void test(ComboBox com)
{
SelectQuery Squery = new SelectQuery("select * from win32_logicaldisk");
ManagementObjectSearcher managementobject = new ManagementObjectSearcher(Squery);
foreach (ManagementObject Disk in managementobject.Get())
{
com.Items.Add(Disk["Name"].ToString());
}
}
关于重写windows消息。
protected override void WndProc(ref Message m)
{
if (m.Msg == 盘符改变,这里你需要查一下api)
{
调用上面的方法
text(Combobox);
}
}
大概就是这个意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那要看 C盘 D盘 E盘 F盘 用什么控件绑定的了 给这个控件添加个值改变事件 在改变事件根据值 把相应的数据查出来 然后把下拉菜单的项清空 重新绑定下拉菜单的值
更多追问追答
追问
用ComboBox控件
追答
那就写在在 SelectedValueChanged事件里
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个我觉得你可以用dropdownlist来实现啊
追问
不能
追答
我楼上的回答挺全的,我也是个半吊子。你根据他的调调,看看行不行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询