轉換。ToInt32(String,int 32);
這裏的String是需要轉換的數字,Int32是數字的基數,例如:
轉換。ToInt32("FF ",16);
該語句將十六進制數FF轉換為十進制數255。
因此,可以編寫壹個通用方法:
公共字符串BaseConvert(字符串值,int from,int to)
{
int val = Convert。ToInt32(值,從);
返回轉換。ToString(val,to);
}
Value是需要轉換的數字,fromBase是數字的原始形式,toBase是需要轉換的形式。
寫完方法之後,就可以寫實現代碼了。首先,設置應用程序並添加四個單行文本框。您需要限制文本框中的字符輸入。比如十六進制數只能是0 ~ 9,a ~ f,a ~ f和back(最後壹個是退格鍵),那麽對應文本框的KeyPress事件就是:
私有void txtHex_KeyPress(對象發送方,KeyPressEventArgs e)
{
if(e . key char & gt;= ' 0 ' & amp& ampe . KeyChar & lt= ' 9 ' | | e . KeyChar & gt= ' A ' & amp& ampe . KeyChar & lt= ' F ' | | e . KeyChar & gt= ' a ' & amp& ampe . KeyChar & lt= 'f' || e.KeyChar == (char)Keys。back)e . Handled = false;
其他
e.已處理=真;
}
然後編寫對應於TextChanged事件的轉換代碼:
private void txtHex_TextChanged(對象發送方,EventArgs e)
{
if (txtHex。文本長度& gt0)
{
txtDec。Text = ct。ConvertString(txtHex。正文,16,10);
txtBin。Text = ct。ConvertString(txtHex。正文,16,2);
txtOct。Text = ct。ConvertString(txtHex。正文,16,8);
}
其他
{
txtDec。Text =
txtBin。Text =
txtOct。Text =
}
}
為了避免意外的結果,最好將代碼寫在try catch語句中來捕捉異常,最後編譯並運行程序。