国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C# 字符串多行顯示/文本換行以textbox為例講解

2020-01-24 03:36:32
字體:
來源:轉載
供稿:網友

方法1:以textbox為例

①:先設置textbox的屬性Multiline為true

②:組織好顯示字符串:FistLine(第一行要顯示的字符)、SecondLine(第二行要顯示的字符)、。。。。。。。、第n行字符

③textbox.text="FistLine"+System.Environment.NewLine+"SecondLine"+System.Environment.NewLine+。。。。+"第N 行"+System.Environment.NewLine

當你看到上面代碼的時候可能會認為我們一般用的換行符不是"/r/n"嗎

你會想到這種方式:textbox.text="FistLine"+“/r/n”+"SecondLine"+"/r/n"+。。。。+"第N 行"+"/r/n"

這種格式可能在運行時也不會出錯,但在Linux操作系統或其他系統可能就會出錯

WinForm的 textbox截圖效果

Textbox例子1用("/r/n"):具體代碼:

復制代碼 代碼如下:

/// <summary>
/// 將結果填充到會員預定情況框
/// </summary>
/// <param name="dt"></param>
private void BindGuestOrder(DataTable dt)
{
int intRowsCount;
intRowsCount = dt.Rows.Count;
string[] strName = new string[intRowsCount];
string[] strPhone = new string[intRowsCount];
string[] strRoom = new string[intRowsCount];
string[] strNum = new string[intRowsCount];
string[] strTime = new string[intRowsCount];
for (int intRows = 0; intRows < intRowsCount; intRows++)
{
strName[intRows] = dt.Rows[intRows]["GuestName"].ToString();
strPhone[intRows] = dt.Rows[intRows]["LinkPhone"].ToString();
strRoom[intRows] = dt.Rows[intRows]["RoomName"].ToString();
strNum[intRows] = dt.Rows[intRows]["BookNo"].ToString();
strTime[intRows] = dt.Rows[intRows]["DineTime"].ToString();
AddMsgToTextBox("客人姓名:" + strName[intRows]);
AddMsgToTextBox("客人電話:" + strPhone[intRows]);
AddMsgToTextBox("預定房間:" + strRoom[intRows]);
AddMsgToTextBox("預約號:" + strNum[intRows]);
AddMsgToTextBox("預定時間:" + strTime[intRows]);
}
}



private int intCounts = 1;
/// <summary>
/// 顯示多行文本
/// </summary>
/// <param name="s"></param>
public void AddMsgToTextBox(string s)
{
int intCount1;
intCount1 = intCounts / 5;
CheckTextBox(intCount1);
txtVIPAdvanceOrder.Text += "/r/n" + s;
if (intCounts % 5 == 0)
{
txtVIPAdvanceOrder.Text += "/r/n";
}
intCounts++;
}

/// <summary>
/// 設置換行
/// </summary>
protected void CheckTextBox(int intCount1)
{
int iLines = 5 * (intCount1 + 2); //想顯示多少行。

string stxt = txtVIPAdvanceOrder.Text;
string[] s = stxt.Split('/n');
if (s.Length < iLines)
return;
txtVIPAdvanceOrder.Text = "";
for (int i = 1; i < s.Length; i++)
{
txtVIPAdvanceOrder.Text += s[i] + "/r/n";
}
stxt = txtVIPAdvanceOrder.Text;
if (stxt != "")
txtVIPAdvanceOrder.Text = stxt.Substring(0, stxt.Length - 1);
}



例子2:截圖效果(dev 控件(Memoedit)):

源碼:

復制代碼 代碼如下:

/// <summary>
/// 將結果填充到會員預定情況框
/// </summary>
/// <param name="dt">預定會員的信息表</param>
private void BindGuestOrder(DataTable vardt)
{
memGusetInfo.Text = "";
int tmpRowsCount;
tmpRowsCount = vardt.Rows.Count;
string[] tmpstrName = new string[tmpRowsCount];
string[] tmpstrPhone = new string[tmpRowsCount];
string[] tmpstrRoom = new string[tmpRowsCount];
string[] tmpstrNum = new string[tmpRowsCount];
string[] tmpstrTime = new string[tmpRowsCount];
for (int i = 0; i < tmpRowsCount; i++)
{
tmpstrName[i] = vardt.Rows[i]["GuestName"].ToString();
tmpstrPhone[i] = vardt.Rows[i]["LinkPhone"].ToString();
tmpstrRoom[i] = vardt.Rows[i]["RoomName"].ToString();
tmpstrNum[i] = vardt.Rows[i]["BookNo"].ToString();
tmpstrTime[i] = vardt.Rows[i]["DineTime"].ToString();
string tmpstr1 = "客人姓名:" + tmpstrName[i] + System.Environment.NewLine;
string tmpstr2 = "客人電話:" + tmpstrPhone[i] + System.Environment.NewLine;
string tmpstr3 = "預定房間:" + tmpstrRoom[i] + System.Environment.NewLine;
string tmpstr4 = "預約號:" + tmpstrNum[i] + System.Environment.NewLine;
string tmpstr5 = "預約時間:" + tmpstrTime[i] + System.Environment.NewLine;
memGusetInfo.Text += string.Format("{0}{1}{2}{3}{4}", tmpstr1, tmpstr2, tmpstr3, tmpstr4, tmpstr5) + System.Environment.NewLine;
}
}

現在DEV控件比較多人用:所以弄了一個DEV的例子,DEV有專門的文本框控件(Memoedit)其實原理都一樣,效果也差不多

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉峪关市| 浦北县| 治县。| 措勤县| 新竹县| 阜新市| 通州市| 彭水| 冷水江市| 鹤壁市| 定兴县| 阿拉善盟| 丰原市| 平顶山市| 青岛市| 民县| 崇文区| 临澧县| 嵊泗县| 中方县| 北票市| 杂多县| 邹平县| 禹州市| 迭部县| 涞水县| 山丹县| 萨迦县| 斗六市| 永胜县| 兴安县| 长治市| 华容县| 瑞金市| 上思县| 司法| 东兰县| 墨脱县| 金乡县| 丰原市| 舞阳县|