簡體   English   中英

從單個列表框獲取兩個附加值c#

[英]Getting Two Added Values from A single Listbox c#

因此,在我的程序中,它應該能夠根據學校系統解決我們的成績。 我有兩個文本框,一個按鈕和一個列表框,當我按下按鈕時,它將從文本框中獲得兩個不同的值並將其放在列表框中。 現在,我的問題是如何從這兩個文本框中獲得兩個不同的求和值。 在我得到兩個值之后,我只是將它們除以並得到我的答案,對不起我的英語不好,我也是這個編程的新手。

public MainWindow()
{
    InitializeComponent();
    listbox.Items.Add(string.Format("Unit\tGrade\tEquivalent"));
}
double grade = 0;
private void genbox_Click(object sender, RoutedEventArgs e)
{
    double units = Convert.ToDouble(unitval.Text);

    if (g.Text == "A" || g.Text=="a")
    {
        grade = 4;
    }
    else if (g.Text == "B+" || g.Text == "b+")
    {
        grade = 3.5;
    }
    else if (g.Text == "B" || g.Text == "b")
    {
        grade = 3;
    }
    else if (g.Text == "C+" || g.Text == "c+")
    {
        grade = 2.5;
    }
    else if (g.Text == "C" || g.Text == "c")
    {
        grade = 2;
    }
    else if (g.Text == "D" || g.Text == "d")
    {
        grade = 1;
    }
    else if (g.Text == "F" || g.Text == "f")
    {
        grade = 0;
    }
    else if (g.Text == "FD" || g.Text == "Fd" || g.Text == "fd" || g.Text == "fD")
    {
        grade = 0;
    }
    else 
    {
        MessageBox.Show("Grade is not Determined");
        return;
    }

    g.Clear();
    unitval.Clear();
    double equiv = units * grade;

    listbox.Items.Add(units + "\t" + grade + "\t" + equiv );

    double tunits =+ units;
    double tequiv =+ equiv;

    double qpival = tequiv / tunits;

    qpi.Text = qpival.ToString();

}

似乎您缺少演員表:

listbox.Items.Add(units + "\t" + grade + "\t" + equiv );

單位,年級和等值被聲明為double

這應該可以解決問題:

listbox.Items.Add(units.ToString() + "\t" + grade.ToString() + "\t" + equiv.ToString() );

編輯:

listbox.Items.Add(string.Format("Unit\tGrade\tEquivalent"));

String.Format不能那樣工作,它應該是:

String.Format("{0}\t{1}\t{2}", parameter0, parameter1, parameter2);

這樣您就可以將代碼重新格式化為

listbox.Items.Add(String.Format("{0}\t{1}\t{2}", units.ToString(), grade.ToString(), equiv.ToString()));

更改:

if (g.Text == "F" || g.Text == "f")

對此:

if(g.Text.ToUpper().Equals("F"))

如果將所有更改為:

private int getGrade(string x)
{
if( .... ) { return ...; }
if( .... ) { return ...; }
}

也許您應該將ListBox更改為ListWiev,像表一樣使用Listbox,可以在ListWiev中獲取表。

暫無
暫無

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

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