c#编程常见问题

1.在字符串拼接数字时异常信息遇到的问题:从字符串“xxx”到类型“Double”的转换无效,解决办法:
可以将"+“替换为”&",或者直接使用String.format()函数进行字符串格式化

vb.net中的连接运算符"&“和”+"的区别:

  • 连接符 如果两个操作数为String就把这两个操作数连接成一个字符串,否则就按加号处理。

& 连接符 将操作数据强行转换成String再进行连接运算。

在一个字串型的变量和一个数值型的变量相加时,在VB.net中会将一个字符型的转化成数值型的,在这个转化过程中,系统会先将字符型的和数值型的都向更高精度的数据类型(Double)转化。但是整型的数据转化成 Double的数据不会出问题,但是字符型的数据转化成Double型的就会出问题了,就会抛出那个“从字符串“用户已存在”到类型“Double”的转换无效。”的错误了。

2.自动生成summary注释
连续按三下 (’)自动生成summary注释

注释一般写在代码行上方与代码左对齐或者后方与代码隔开两个空格
一个(’)类型注释建议写新增注释说明
两个(’)类型注释建议用于修改注释说明
三个(‘)类型注释建议用于方法前注释

#Region “折叠代码,此处填写折叠后显示内容”
#End Region

3.关于DevExpress控件文档地址:

https://documentation.devexpress.com/WindowsForms/8092/Prerequisites

问题例子1:
repositoryItemComboBox下拉框获取选中值的处理
使用repositoryItemComboBox的SelectedValueChanged事件触发方法:

Private Sub RepositoryItemComboBox_SelectedValueChangedExtracted(ByVal sender As Object, ByVal e As System.EventArgs) Handles RepositoryItemComboBox.SelectedValueChanged 
End Sub

当我们运行程序的时候,会发现,gridview的下拉框有我们绑定的数据,但是当我在下拉框中选择一个值离开后,gridview不会显示我们选中的值,获取的值依然是选择前的值:

我的做法是:

repositoryItemComboBox.Items.Item((sender).SelectedIndex)

获取下拉框选中的索引对应的item,我这里这个item中放的是枚举类型的值,比如选择’增加‘,获取的则是0;

Public Enum Type
    增加 = 0
    删除 = 1
    修改 = 2
End Enum

问题例子2:
获取选中的列或行,使其中的某列、行、单元格不可被编辑:

’根据FieldName属性获取列,使列不能被编辑
GridView.Columns.ColumnByFieldName("列的FieldName") .OptionsColumn.ReadOnly = True
GridView.Columns.ColumnByFieldName("列的FieldName") .OptionsColumn.AllowEdit = False
’根据Name属性获取列,使列不能被编辑
列的Name.OptionsColumn.ReadOnly = True
列的Name.OptionsColumn.AllowEdit = False

个人观点:使用FieldName可以避免页面设计更改Name属性而影响到代码功能,但是如果没有FieldName属性的话,还是得用列的Name形式。

’使用CancelEvent使符合条件的行不能被编辑
Private Sub GridView_Cancel(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) 
’GridView.IsEditing : View处于编辑模式则为true;否则为 false
        If GridView.IsEditing Then
                e.Cancel = True
        End If
End Sub
’使用FocusedRowChanged获取编辑单元格的行,然后确定那列不能被编辑,在行切换后触发事件,使上一列的其他指定单元格不能被编辑
Private Sub GridViewTarget_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles GridViewTarget.FocusedRowChanged
列的Name.OptionsColumn.ReadOnly = True
列的Name.OptionsColumn.AllowEdit = False
End Sub

更多用法,参考:
https://wenku.baidu.com/view/7d3da84d4b73f242336c5fa0.html

你可能感兴趣的:(c#)