繁体   English   中英

如何将属性设置为零

[英]How do I set property to zero

我需要将标签设置为零。 它显示为120。有一个按钮将返回该程序所需的小时数。 该程序返回专业学生所需的小时数。 有3种形式。 布拉达布拉达yadah yadah。 asdfkashdfjkhasjkdhfjkasdjkfajkdjfkajksdfjkakjshdfkjakjsdfjkashdfakjsdf

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace Computer_Science_Student
    {
        class CompSciStudent : Student
        {
            // Constants
            private double MATH_HOURS = 20;
            private double CS_HOURS = 40;
            private double GEN_HOURS = 60;

            // Fields
            private string _academicTrack;

            // Constructor
            public CompSciStudent(string name, string id, string track)
               : base(name, id)
            {
                _academicTrack = track;
            }

            // AcademicTrack property
            public string AcademicTrack
            {
                get { return _academicTrack; }
                set { _academicTrack = value; }
            }

            // RequiredHours property
            public override double RequiredHours
            {

                get { return MATH_HOURS + CS_HOURS + GEN_HOURS; }
            }
        }
    }

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Computer_Science_Student
{
    abstract class Student
    {
        // Fields
        private string _name;
        private string _id;

        // Constructor
        public Student(string name, string id)
        {
            _name = name;
            _id = id;
        }

        // Name property
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }

        // ID property
        public string ID
        {
            get { return _id; }
            set { _id = value; }
        }

        // RequiredHours property (abstract)
        public abstract double RequiredHours
        {
            get;
        }
    }
}

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Computer_Science_Student
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Variables to hold input
            string name, id, track;


            // Get the student's name and ID.
            name = nameTextBox.Text;
            id = idTextBox.Text;


            // Get the student's academic track
            if (infoSystemsRadioButton.Checked)
            {
                track = "Information Systems";
            }
            else
            {
                track = "Software Engineering";
            }

            // Create a CompSciStudent object.
            CompSciStudent csStudent =
               new CompSciStudent(name, id, track);

            // Display the student's required hous.
            requiredHoursLabel.Text = 
                csStudent.RequiredHours.ToString("n1");
        }

        private void ExitButton_Click(object sender, EventArgs e)
        {
            // Close the form
            this.Close();
        }
    }
}

在您的代码类中,CompSciStudent具有以下属性和方法:

// Constants
private double MATH_HOURS = 20;
private double CS_HOURS = 40;
private double GEN_HOURS = 60;

public override double RequiredHours
{
    get { return MATH_HOURS + CS_HOURS + GEN_HOURS; }
}

RequiredHours始终返回MATH_HOURS + CS_HOURS + GEN_HOURS的总和,等于120。另外,正如另一个人指出的那样,这些不是常量,而是变量。 常数为:

const double MATH_HOURS = 20; 

在这里,您将创建一个新的CompSciStudent对象:

// Create a CompSciStudent object.
CompSciStudent csStudent = new CompSciStudent(name, id, track);

// Display the student's required hous.
requiredHoursLabel.Text = csStudent.RequiredHours.ToString("n1");

在Form1_Load()方法中,将requiredHoursLabel.Text设置为cSStudent.RequiredHours(始终为120),这就是为什么在文本字段中看到“ 120”的原因。

表单加载后将调用Form1_Load()方法,因此通常用于初始化表单。 因此,您现在正在执行的操作是将requiredHoursLabel.Text初始化为120。

如果您有其他想法,则除了“关闭”之外,还需要添加其他按钮,例如“确定”或“保存”,或者接受用户输入到表单中的输入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM