0

我想用轮盘游戏填充 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);
    }
}

有人可以帮忙吗?

4

3 回答 3

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>
于 2012-10-12T11:50:48.720 回答
1

列表框项目不能显示多行文本。您可能应该使用不同的控件。Label想到了,或TextBoxTextMode="multiline"

于 2012-10-12T11:46:46.710 回答
0

从技术上讲,您可以在 a 中显示空白行,ListBox但如果您的其他文本太长,用户将不得不横向滚动,这通常很痛苦。我建议你改用 a 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 来格式化您的输出。

于 2012-10-12T11:50:00.140 回答