发生onSelectedChange时删除文本

时间:2014-06-17 20:00:01

标签: c# events event-handling

我只是想知道,如果onSelectedChange事件后声明不满意,是否有人可以告诉我如何删除一段文字。

我的代码,

protected void currency_SelectedIndexChanged(object sender, EventArgs e)
{
    if (stm_currency.SelectedItem != null)
    {
        lblResults.Text = "" +
        stm_merchant.SelectedItem.Text + " statement for " +
        stm_month.SelectedItem.Text  + " " +
        stm_year.SelectedItem.Text;
    }
    else 
    {
        lblResults.Text.Remove(0);
    } 
}

3 个答案:

答案 0 :(得分:0)

更改此行代码

lblResults.Text = "";

它会将其设置为空字符串。

答案 1 :(得分:0)

remove方法返回一个新字符串,其中删除了从指定位置开始的当前实例中指定数量的字符。

http://msdn.microsoft.com/en-us/library/d8d7z2kk(v=vs.110).aspx

您应该使用lblResults.Text = "";lblResults.Text = string.Empty;

答案 2 :(得分:0)

您应该检查标签是否需要先调用。

delegate void setLabelText(string s);
public void invokeSetLabelText(string s)
{
    if (this.lblResults.InvokeRequired)
    {
        setLabelText d = new setLabelText(invokeSetLabelText);
        this.Invoke(d, new object[] { s });
    }
    else
        lblResults.Text = s;
}

protected void currency_SelectedIndexChanged(object sender, EventArgs e)
{
    if (stm_currency.SelectedItem != null)
        invokeSetLabelText(string.Format("{0} statement for {1} {2}", 
            stm_merchant.SelectedItem.Text,
            stm_month.SelectedItem.Text, 
            stm_year.SelectedItem.Text));
    else
        invokeSetLabelText(string.Empty);
}