
//加入项
comboBox1.Items.Add("A")
comboBox1.Items.Add("B")
comboBox1.Items.Add("C")
//判断选择项
switch (comboBox1.SelectedItem.ToString())
{
case "A": MessageBox.Show("A")break
case "B": MessageBox.Show("B")break
case "B": MessageBox.Show("C")break
}
扩展资料:C#中comboBox控件的一些基本用法小结
private void InitCombo()
{
dt.Columns.Add("Text")
dt.Columns.Add("Value")
DataRow dr1 = dt.NewRow()
DataRow dr2 = dt.NewRow()
DataRow dr3 = dt.NewRow()
dr1["Text"] = "0-明细计划"
dr1["Value"] = "0"
dr2["Text"] = "1-汇总计划"
dr2["Value"] = "1"
dr2["Text"] = "2-执行反馈"
dr2["Value"] = "2"
dt.Rows.Add(dr1)
dt.Rows.Add(dr2)
dt.Rows.Add(dr3)
this.comBoxCXLX.DataSource = dt
this.comBoxCXLX.DisplayMember = "Text"
this.comBoxCXLX.ValueMember = "Value"
}
上面代码可以实现将明细计划、汇总计划、执行反馈三个选项绑定到ComboBox的下拉框中。
假如说:该comboBox控件显示内容受别的控件限制,显示给comboBox空间赋值,实现代码如下:
//让combox控件显示“明细计划”
comBoxCXLX.Text = "明细计划"
comBoxCXLX.SelectedIndex = 0
//让combox控件显示“汇总计划”
comBoxCXLX.Text = "汇总计划"
comBoxCXLX.SelectedIndex = 1
public static class RegisterOcx{
private static string _systemDic = string.Empty
/// 检测是32bit or 64bit,进行对应位置注册。
/// 注册成功之后启动Pad
public static void RegisterOcxControl()
{
try
{
const string fileName = "dsoframer.ocx"
bool type = Environment.Is64BitOperatingSystem
_systemDic = Environment.SystemDirectory
if (type)
{
//64bit
_systemDic = _systemDic.Replace("system32", "SysWOW64")
}
_systemDic = _systemDic + "\\" + fileName
//是否存在
if (!File.Exists(_systemDic))
{
string libPath = AppDomain.CurrentDomain.BaseDirectory + "\\Libs\\" + fileName
File.Copy(libPath, _systemDic, true)
}
System.Threading.Thread thread = new System.Threading.Thread(DoRegistry)
thread.SetApartmentState(System.Threading.ApartmentState.STA)
thread.Start()
}
catch (Exception ex)
{
Logger.Error("RegisterOcxControl error" + ex.ToString())
throw
}
}
private static void DoRegistry()
{
try
{
//是否注册
//{00460182-9E5E-11d5-B7C8-B8269041DD57}对应的是空间的注册表中ClSID的值,每一个OCX空间CLSID都不一样。
//如果更换空间,则该值需要到注册表中查找,路径为:HKEY_CLASSES_ROOT\CLSID\{00460182-9E5E-11d5-B7C8-B8269041DD57}
RegistryKey registry = Registry.ClassesRoot.OpenSubKey("CLSID\\{00460182-9E5E-11d5-B7C8-B8269041DD57}\\")
if (registry == null)
{//没有注册时
new Command().Execute(string.Format(@"Regsvr32.exe {0}", _systemDic))
}
}
catch (Exception)
{
new Command().Execute(string.Format(@"Regsvr32.exe {0}", _systemDic))
}
}
}
32bit 和 64bit的差别是 注册路径"system32"替换成 "SysWOW64"。
new Command().Execute是执行cmd命令,用其他的方式执行cmd都可以
命令是:Regsvr32.exe {0} ,{0} 是注册的路径。
例如:
Regsvr32.exe "C:\Windows\SysWOW64\dsoframer.ocx"
regsvr32 好像有个\s命令,可以静默注册。
引用这个Dll就行了。C:\Program Files\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)