c# combox如何设计智能添加选项 20
如何使combox控件能有这样一个功能例如“文件”这个选项不在items中用户自己手动输入后可以做个判断如果是items中没有的就自动加进去用户第二次使用这个控件item...
如何使combox控件能有这样一个功能 例如“文件”这个选项不在items中 用户自己手动输入后可以做个判断 如果是items中没有的就自动加进去 用户第二次使用这个控件item中就有“文件”这个选项了 能不用到数据库最好
展开
3个回答
展开全部
用户输入的选择需不需要永久保存,也就说是否“文件”选项在程序重新开启后是否还在?
1、不需要永久保存
很简单,在控件的Leave事件中 遍历items判断字符串是否存在,不在则Add。
2、需要永久保存
这个稍微复杂点,若不愿意用数据库有两种解决方案。一种用TXT或XML做持久化,一种用二级制文件做持久化
思路是这样的。首先在FormLoad事件中加载保存的文件的集合,控件的Leave事件也需遍历items判断当前输入字符串是否存在,不存在则Add入items中,在FormClose事件中奖items中的集合更新到保存的文件即可
1、不需要永久保存
很简单,在控件的Leave事件中 遍历items判断字符串是否存在,不在则Add。
2、需要永久保存
这个稍微复杂点,若不愿意用数据库有两种解决方案。一种用TXT或XML做持久化,一种用二级制文件做持久化
思路是这样的。首先在FormLoad事件中加载保存的文件的集合,控件的Leave事件也需遍历items判断当前输入字符串是否存在,不存在则Add入items中,在FormClose事件中奖items中的集合更新到保存的文件即可
展开全部
如果不用到数据库你就必须用其他的方式存储用户的输入,不然不可能实现你的需求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用数据库的灵活性大多了,通过代码获取数据库的一列数据。(此方法是获取表那么,并且按照拼音排序的 )
代码写在combox事件DropDown中
SqlConnection conn = new SqlConnection("Server=192.168.0.12;Database=数据库名;uid=登录名;pwd=登录密码");
try
{
string sql = "select Name from 表名order by Name ";
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
this.txthandlers.Items.Add(dr["Name"].ToString());
}
dr.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
conn.Close();
}
表添加数据这个需要独立做个界面,需要用这个combox.直接在那个界面中的combox加个dropdown事件就可以了。
代码写在combox事件DropDown中
SqlConnection conn = new SqlConnection("Server=192.168.0.12;Database=数据库名;uid=登录名;pwd=登录密码");
try
{
string sql = "select Name from 表名order by Name ";
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
this.txthandlers.Items.Add(dr["Name"].ToString());
}
dr.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
conn.Close();
}
表添加数据这个需要独立做个界面,需要用这个combox.直接在那个界面中的combox加个dropdown事件就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询