簡體   English   中英

更改對象發送者控件的CSS類

[英]changing CSS class for object sender control

我正在C#.net(使用Visual Studio)中創建工作簿創建者

本書是由文本部分和問題部分組成的。

問題的所有答案都在文本內,用戶需要單擊正確的答案。 如果他是對的,那么這個詞就會變成綠色,如果他錯了,那么它就會變成紅色。

我正在使用LINKBUTTON創建clickeable文本,給了鏈接按鈕CssStyle類,並且在用戶單擊該單詞后,我想將此鏈接的類更改為其他類。

這是我用來創建鏈接按鈕的代碼:

  public void createQusetion(Panel lefttext, Panel question, string text, string          
   questionText, string answer)
{

    string[] Qbuttonstext = text.Split(' ');
    _numberWords = Qbuttonstext.Length;
    for (int i = 0; i < _numberWords; i++)
    {
        LinkButton answerButton = new LinkButton();
        if (Qbuttonstext[i] == answer)
        {
            answerButton.ID = "answer" + i;

        }
        else
        {
            answerButton.ID = "word" + i.ToString();
        }
        answerButton.Text = Qbuttonstext[i].ToString() + " ";
        answerButton.CssClass = "textbuttonB4";

        answerButton.Click += new EventHandler(checkAnswer);

        lefttext.Controls.Add(answerButton);
    }


}

並檢查問題:

 private void checkAnswer(object sender, System.EventArgs e)
{
    for (int i = 0; i < _numberWords; i++)
    {
        if (((Control)sender).ID.ToString() != null)
        {
            if (((Control)sender).ID.ToString() == "answer" + i.ToString())
            {
                ((Control)sender).CssClass = "textbuttonRight";

            }
            else
            {
                ((Control)sender).CssClass = "textbuttonwrong";

            }
        }
    }
}

VS2010讓我誤會了:((Control)sender).CssClass。

正確的方法是什么?

您可以通過這種方式進行類型無關的控件。 它將為所有具有Id和CssClass屬性的控件運行。

    private void checkAnswer(object sender, System.EventArgs e)
    {
        var cssClass = sender.GetType().GetProperty("CssClass");
        var id = sender.GetType().GetProperty("ID").GetValue(sender, null);
        for (int i = 0; i < _numberWords; i++)
        {
            if (id!=null)
            {
                if (id.ToString() == "answer" + i.ToString())
                {
                    cssClass.SetValue(sender, "textbuttonRight", null);
                }
                else
                {
                    cssClass.SetValue(sender, "textbuttonRight", null);
                }
            }
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM