WinForm试用ing = =。。FileOpenDialog & FileSaveDialog
其实挺好用(倘若比起JFileDialog来说)。。
只是在用FileOpenDialog时要注意,关闭对话框时默认会改变工作目录。
今天就遇到了在打开一个文件后工作目录被改动,导致后面用相对路径就找不到文件了。
解决方案很简单,配置FileOpenDialog的RestoreDirectory属性为true,即在对话框关闭时还原工作目录。
下面贴一贴基本的代码。
WinForm试用ing = =。。ProgressBar
.NET 2.0开始不能跨线程访问控件,只能写委托,恨……
那么下面贴一段跨线程调度进度条的代码,无知的我搞了老半天……
WinForm试用ing = =。。ComboBox
嗯 = =。。。用到的几个属性贴一贴:
DisplayMember:显示的属性名称
ValueMember:值的属性名称
Items:对象集合
AutoComplete:自动完成系列的。。略,以后有用到再……
DropDownStyle:控制下拉框中的内容是输入还是下拉
- Simple:只能输入
- DropDown:默认值,既能下拉也可以自己输入
- DropDownList:只能下拉列表
真是超无聊的 = =..
要被干掉了~。。。
注册ocx..
第一次装起vss。。拿到源码跑不起来,原来控件啥的没注册。。
老师发了两个ocx来,于是放到system32下来regsvr32,提示找不到所指定的模块。
百度之,原来里面可能缺少dll,用dependency walker打开来看果然有黄色问号图标,再次索要了缺少的dll,一同放入system32下重新regsvr32即可正常注册。
汉化FreeTextBox v3.2
分成几个部分(工具栏控件、弹出页面、图像库)来,囧无比。
alert后CSS失效
原本用Response写弹出,即
Response.Write("<script>alert('修改成功!');</script>“);
发现执行后CSS失效,百度之,原来是.NET会自动将生成的JS放在页面最前面,因此有时会造成CSS失效或页面变形,替换成
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('XXXX');</script>");
即可解决问题。
ObjectDataSource未能找到带参数的非泛型方法
下午遇到两次这个问题。。
第一次是在做DELETE的时候,因为Delete方法里面的参数与读出来的列名不一致,VS判断其为不同的参数,要求输入,因此提示:ObjectDataSource“objectDataSource”未能找到带参数的非泛型方法“DeleteNews”: ID。
解决方法很囧,就是把Delete方法签名里面的名字改成跟数据列名一样。
第二次是在做SELECT的时候,我需要传入一个网点ID,只显示该网点的信息,但是在ASPX里面编辑时好像只能提供默认值,于是就在Page_Load方法里面填充默认值:objectDataSource.SelectParameters["pointID"].DefaultValue = user.Point;
这个时候就可以随便定义名字了 - -。。。。真囧。这样想来,DELETE时也可以在RowDeleting系列里面传参哩。
同理其他方法的传参。