我想用轮盘赌游戏填充ListBox,但我需要跳过不起作用的行
如果中奖号码与列表框不匹配,则必须打印如下
抱歉,没有中奖号码!
你松了!!!
如果中奖号码与投注号码匹配,则应如下所示:
获奖号码
投注:R#
投注类型:#
总奖金:R#
注意:#代表选择的数字
我尝试了两种方式" / n"和" system.Enviroment.NewLine"似乎没有任何作用
protected void btnSpin_Click(object sender, EventArgs e)
{
Random random = new Random();
intNumbRolled = random.Next(36);
if (intNumb == intNumbRolled)
{
winning = intBet * type;
}
else
{
winning = 0;
}
if (winning == 0)
{
ListBox1.Items.Add
("Sorry there was no winning number \nYou loose!!");
}
else
{
ListBox1.Items.Add ("Winning number is " + intNumbRolled +
System.Environment.NewLine + System.Environment.NewLine + "BET: R " +
intBet + System.Environment.NewLine + "Bet-Type: " + type +
System.Environment.NewLine + "Total Winnings: R " + winning);
}
}
有人可以帮忙吗?
答案 0 :(得分:1)
列表框项目无法显示多行文字。你可能应该使用不同的控件。我会想到Label
,或TextBox
TextMode="multiline"
。
答案 1 :(得分:1)
我建议您使用repeater control
与template column
一起添加到此模板列TextArea
控件
<asp:Repeater id="Repeater1"
DataSource="<% databindingexpression %>"
runat=server>
<ItemTemplate>
<textarea rows="3" cols="30" id="IdTextArea" runat="server"/>
</ItemTemplate>
<asp:Repeater>
答案 2 :(得分:0)
从技术上讲,您可以在ListBox
中显示空白行,但如果您的其他文字太长,则用户必须向侧面滚动,这通常很痛苦。我建议你改用Label
。
在.aspx页面中:
...
<asp:Label id="lblResult" runat="server" />
...
在你的.aspx.cs代码隐藏中:
if (winning==0)
{
lblResult.Text = "Sorry there was no winning number<br />You loose!!";
}
else
{
lblResult.Text =
"Winning number is " + intNumbRolled + "<br /><br />" +
"BET: R " + intBet + "<br />" +
"Bet-Type: " + type + "<br />" +
"Total Winnings: R " + winning;
}
请注意使用<br />
代替\n
,因为您的输出是HTML。使用这种方法,您还可以使用CSS格式化输出。