根据提供的信息,我们可以总结出以下关于C#编程语言的一些实用技巧和知识点: ### C#的一些技巧详解 #### 1. 使用 DataGrid 显示数据表 DataGrid 是一个用于在 Windows Forms 应用程序中显示表格数据的强大控件。可以通过创建 `DataGridTableStyle` 实例并设置 `MappingName` 属性来映射数据源。 ```csharp DataGridTableStyle dgts = new DataGridTableStyle(); dgts.MappingName = "myTable"; // myTable 需要绑定的 DataTable 名称 DataGridTextBoxColumn dgcs = new DataGridTextBoxColumn(); dgcs.MappingName = "title_id"; // 数据列名 dgcs.HeaderText = "ID"; // 显示的标题 dgts.GridColumnStyles.Add(dgcs); dataGrid1.TableStyles.Add(dgts); ``` #### 2. SQL 查询中处理 NULL 值 当需要查询某个字段为空的情况时,可以使用 `IS NULL` 子句。 ```sql WHERE col_name IS NULL ``` #### 3. Winforms 中设置默认按钮 在 Windows Forms 中,可以为表单设置一个默认按钮,用户按下 Enter 键时会触发此按钮的操作。 ```csharp this.AcceptButton = button1; // 设置 button1 为默认按钮 ``` #### 4. Oracle 的 NUMBER 类型与 SQL Server 对应类型 Oracle 中的 `NUMBER(15)` 类型,在 SQL Server 中可以用 `numeric(15, 0)` 来表示相同精度的数字。 ```sql -- SQL Server DECLARE @num numeric(15, 0) ``` #### 5. SQL Server 中使用 LIKE 操作符 当需要在 SQL Server 中执行模糊匹配查询时,可以使用 `LIKE` 操作符结合通配符 `%`。 ```sql SELECT * FROM mytable WHERE hao LIKE '%' + @hao + '%' ``` #### 6. TextBox 处理按键事件 通过 `KeyPress` 事件可以监听 TextBox 控件中的按键输入,并进行相应的处理。 ```csharp private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { if (e.KeyChar != (char)13) return; else // 执行其他操作 } ``` #### 7. 解决 Int32 类型转换问题 当需要将非整数值转换为 `Int32` 类型时,可以先将其转换为字符串再解析为整数。 ```csharp Int32 value = Int32.Parse(cmd.ExecuteScalar().ToString()); ``` #### 8. 动态添加 DataGrid 列 可以在运行时动态地为 DataGrid 添加新的列,并设置其表达式。 ```csharp DataColumn dc = new DataColumn("newCol", Type.GetType("System.String")); dc.Expression = "Parent.parentColumnName"; dt.Columns.Add(dc); // dt 为目标 DataTable ``` #### 9. 限制 DataGrid 显示的列长度 如果希望在 DataGrid 中只显示某一列的部分内容,可以使用 SQL 查询的 `SUBSTR` 函数(Oracle)或 `SUBSTRING` 函数(SQL Server)。 ```sql SELECT COL1, SUBSTR(COL2, start_index, end_index) AS *** FROM *** ``` #### 10. ComboBox 下拉列表模式 ComboBox 控件提供了不同的下拉模式: - `DropDown`: 显示下拉列表但允许用户手动输入。 - `DropDownList`: 只显示下拉列表不允许用户手动输入。 - `Simple`: 显示下拉列表且允许用户输入。 #### 11. DataGrid 显示日期格式 为了正确显示日期格式,可以使用 SQL 日期函数。 ```sql SELECT to_date(date_column, 'yyyy-mm-dd') ``` #### 12. 数据集填充技巧 可以使用 LINQ 或者 SQL 语句来填充数据集,并对数据进行计算或合并。 ```csharp DataColumn dcChehao = new DataColumn("newColumnName", typeof(string)); dcChehao.Expression = "columnName1 + columnName2"; dt.Columns.Add(dcChehao); ``` 在 SQL 中,也可以使用连接运算符来合并字段值。 ```sql SELECT col1 || col2 FROM table -- Oracle SELECT col1 + col2 FROM table -- SQL Server ``` #### 13. DataGrid 显示特定内容 为了在 DataGrid 中高亮显示特定内容,可以使用 SQL 查询的 `CASE WHEN` 语句。 ```sql SELECT COL1, COL2, CASE WHEN COL3 LIKE '%%' THEN SUBSTR(COL3, INSTR(COL3, '+', 1, INSTR(COL3, '-') - INSTR(COL3, '-') - 1) END AS COL3 FROM MY_TABLE ``` #### 14. DataGrid 丢失焦点问题 有时当用户滚动 DataGrid 时,DataGrid 会失去焦点。可以使用 MouseWheel 事件来解决这个问题。 ```csharp this.dataGrid1.MouseWheel += new MouseEventHandler(dataGrid1_MouseWheel); private void dataGrid1_MouseWheel(object sender, MouseEventArgs e) { this.dataGrid1.Select(); } ``` #### 15. TextBox 键盘快捷键 可以使用 `KeyPress` 事件结合 `SendKeys` 类来实现自定义键盘快捷键。 ```csharp if (e.KeyChar == '+') { SendKeys.Send("A"); e.Handled = true; } ``` #### 16. 设置窗体全屏显示 在 Windows Forms 应用程序中,可以通过设置窗体状态来实现全屏显示。 ```csharp this.WindowState = FormWindowState.Maximized; ``` #### 17. 获取当前时间和日期 在 C# 和 SQL Server 中获取当前时间和日期的方式有所不同。 ```csharp // C# DateTime now = DateTime.Now; // SQL Server SELECT GETDATE() ``` #### 18. DataGrid 访问单元格值 可以直接通过 DataGrid 的索引访问单元格值。 ```csharp object cellValue = dataGrid[row, col]; ``` #### 19. DataTable 数据过滤 使用 `Select` 方法来筛选 DataTable 中的数据行。 ```csharp DataRow[] filteredRows = dt.Select("='目标值'"); ``` #### 20. DataGrid 导出到 Excel 可以使用第三方库如 EPPlus 来导出 DataGrid 的内容到 Excel 文件。 ```csharp using OfficeOpenXml; ExcelPackage.LicenseContext = LicenseContext.NonCommercial; var package = new ExcelPackage(); var worksheet = package.Workbook.Worksheets.Add("Sheet1"); // 假设 dataGrid1 是你的 DataGrid 控件 for (int i = 0; i < dataGrid1.Rows.Count; i++) { for (int j = 0; j < dataGrid1.Columns.Count; j++) { worksheet.Cells[i + 1, j + 1].Value = dataGrid1[j, i].Value; } } // 保存 Excel 文件 package.SaveAs(new FileInfo("output.xlsx")); ``` #### 21. 数字格式化 在显示数字时,可以使用 `ToString` 方法指定格式,确保数值按照预期的方式显示。 ```csharp string formattedNumber = "0212".ToString(); ``` 这些技巧涵盖了 C# 编程中常见的数据绑定、数据库交互、UI 控件操作等方面的问题,有助于提高开发效率和代码质量。
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助