C#使用记录

本文详细介绍了C#中处理键盘事件、动态添加DataGridView行的两种方式,以及设置DataGridView单元格样式的方法。同时,文章还涵盖了字符串与字节流之间的转换,并提供了16进制字符串与字节数组相互转换的实用函数。通过对这些基础知识的掌握,开发者可以更高效地操作数据展示和处理数据转换。
摘要由CSDN通过智能技术生成

C# 快捷键

// An highlighted block
 private void Form1_KeyPress(object sender, KeyPressEventArgs e)
  {
       int temp = e.KeyChar;//强制转化成所需类型
       if (temp == 'A' || temp == 'a')
       {
       		//对应的功能代码
       }
     }

简单介绍如何为DataGridView控件动态添加新行的两种方 法:

方法一:

int index=this.dataGridView1.Rows.Add();
this.dataGridView1.Rows[index,0].Value = "1"; 
this.dataGridView1.Rows[index,0].Value = "2"; 
this.dataGridView1.Rows[index,0].Value = "监听";

方法二:

DataGridViewRow row = new DataGridViewRow();
DataGridViewTextBoxCell textboxcell = new DataGridViewTextBoxCell();
textboxcell.Value = "aaa";
row.Cells.Add(textboxcell);
DataGridViewComboBoxCell comboxcell = new DataGridViewComboBoxCell();
row.Cells.Add(comboxcell);
dataGridView1.Rows.Add(row);

关于DataGridView行和列的背景色-前景色设置

1  //包含Header所有的单元格的背景色为黄色
DataGridView1.DefaultCellStyle.BackColor = Color.Yellow;
2  // Header以外所有的单元格的背景色为黄色
DataGridView1.RowsDefaultCellStyle.BackColor = Color.Yellow;
3  //(0, 0)单元格的背景色为粉色
DataGridView1[0, 0].Style.BackColor = Color.Pink;
4
//索引0列的单元格的背景色为淡蓝色
DataGridView1.Columns[0].DefaultCellStyle.BackColor = Color.Aqua;
//索引0行的单元格的背景色为淡灰色
DataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.LightGray;
5 //奇数行的单元格的背景色为黄绿色
DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.GreenYellow;
6**有点问题
/列Header的背景色为象牙色
DataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.Ivory;
//行Header的背景色为橙色
DataGridView1.RowHeadersDefaultCellStyle.BackColor = Color.Lime;

  1). DataGridViewCell.Style 
  2). DataGridViewRow.DefaultCellStyle 
  3). DataGridView.AlternatingRowsDefaultCellStyle 
  4). DataGridView.RowsDefaultCellStyle 
  5). DataGridViewColumn.DefaultCellStyle 
  6). DataGridView.DefaultCellStyle
  接下来是Header的单元格Style属性的优先顺序。
  1). DataGridViewCell.Style 
  2). DataGridView.RowHeadersDefaultCellStyle 
  3). DataGridView.ColumnHeadersDefaultCellStyle 
  4). DataGridView.DefaultCellStyle
  单元格本身的设定的Style是最优先的。

string类型转成byte[]:

byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str );

byte[]转成string:

string str = System.Text.Encoding.Default.GetString ( byteArray );

string类型转成ASCII byte[]:
(“01” 转成 byte[] = new byte[]{ 0x30,0x31})

byte[] byteArray = System.Text.Encoding.ASCII.GetBytes ( str );

ASCIIbyte[]转成string:
(byte[] = new byte[]{ 0x30, 0x31} 转成"01")

string str = System.Text.Encoding.ASCII.GetString ( byteArray );

byte[]转16进制格式string:
new byte[]{ 0x30, 0x31}转成"3031":

publicstaticstring ToHexString ( byte[] bytes ) // 0xae00cf => "AE00CF "
{
	string hexString = string.Empty;
	if ( bytes != null )
	{                
		StringBuilder strB = new StringBuilder ();
		for ( int i = 0; i < bytes.Length; i++ )
       {                    
       		strB.Append ( bytes[i].ToString ( "X2" ) );                
       }                
	 hexString = strB.ToString ();            
  }return hexString;        
}

16进制格式string 转byte[]:

publicstaticbyte[] GetBytes(string hexString, outint discarded)
{            
	discarded = 0;
	string newString = "";
	char c;// remove all none A-F, 0-9, charactersfor (int i=0; i<hexString.Length; i++)
	{              
		c = hexString[i];if (IsHexDigit(c))                    
		newString += c;
		else                    
		discarded++;            
	}// if odd number of characters, discard last character
	if (newString.Length % 2 != 0)
		{                
			discarded++;                
			newString = newString.Substring(0, newString.Length-1);            
		}
	int byteLength = newString.Length / 2;
	byte[] bytes = newbyte[byteLength];
	string hex;
	int j = 0;
	for (int i=0; i<bytes.Length; i++)
		{               
		 	hex = new String(new Char[] {newString[j], newString[j+1]});               
		 	bytes[i] = HexToByte(hex);                
		 	j = j+2;           
		}
	return bytes;       
}
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值