winform开发中小知识点总结
1.//本地路径转换成URL相对路径
private string urlconvertor(string imagesurl1)
{
string tmpRootDir = Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath.ToString());//获取程序根目录
string imagesurl2 = imagesurl1.Replace(tmpRootDir, ""); //转换成相对路径
imagesurl2 = imagesurl2.Replace(@"\", @"/");
return imagesurl2;
}
//相对路径转换成服务器本地物理路径
private string urlconvertorlocal(string imagesurl1)
{
string tmpRootDir = Server.MapPath
(System.Web.HttpContext.Current.Request.ApplicationPath.ToString());//获取程序根目录
string imagesurl2 = tmpRootDir + imagesurl1.Replace(@"/", @"\"); //转换成绝对路径
return imagesurl2;
}
2.
C#Winform版的CheckBox、控件遍历、全选、反选实例代码。
①直接引用
如果窗体form中存在CheckBox控件,直接引用的方法为:
控件名称.属性=属性值
例子:checkBox1.Checked = true;
②遍历引用
遍历引用有两种情况,其一为checkBox控件不包含在任何容器内;其二是checkBox控件包含于某些容器内。
A:checkBox不包含在任何容器内的遍历方法
foreach(Control ctl in this.Controls)//此处使用this.Controls
{
if(ctl is CheckBox)
{
CheckBox ck = ctl as CheckBox;
if (ck != null)
{
ck.Checked = true;//全选
}
}
}
A:checkBox包含在容器内的遍历方法(比如包含在groupBox内)
foreach (Control MyCheckBox in groupBox1.Controls)//此处使用容器名称groupBox1
{
if (MyCheckBox is CheckBox)
{
CheckBox ck = MyCheckBox as CheckBox;
if (ck.Checked)
{
ck.Checked = !ck.Checked;//反选
}
}
}
还有一种情况是:窗体不使用CheckBox控件控件,而是使用CheckBoxList,如果我们想实现遍历,可参考如下代码:
for(int i =0;i<ChecklistBox.Items.count;i++)
{
MessageBox.Show(ChecklistBox.Items[0].ToString());
}