1

我必须在这里制作一个简单的程序,但我不太确定如何启动它。我已经定义了我的类文件,如下所示。我需要做的是制作一个Windows Form Application(如下图所示)。我需要将信息输入到文本框中,然后将其输出到底部的richtextbox1中。而且我没有在下面显示它,但是在 Windows 窗体中,如果我在此类文件中有方法,您如何调用它?

在此处输入图像描述

class Telephone
{
    private string manufacturer;
    private string model;
    private bool isConnected = false;
    private string lastNumberDialed;
    private string phoneNumber;   

    public Telephone()
    {
    }

    public Telephone(string manufacturer, string model, string phoneNumber)
    {
        Manufacturer = manufacturer;
        Model = model;
        PhoneNumber = phoneNumber;
    }

    public string Manufacturer
    {
        get { return manufacturer; }
        set { manufacturer = value; }
    }

    public string Model
    {
        get { return model; }
        set { model = value; }
    }

    public string PhoneNumber
    {
        get { return phoneNumber; }
        set { phoneNumber = value; }
    }

    new public string ToString()
    {
        return "Manufacturer: " + manufacturer;
    }      
}

这是设计代码:

public partial class TelephoneEntryForm : Form
{
    public TelephoneEntryForm()
    {
        InitializeComponent();
    }

    private void btnEnter_Click(object sender, EventArgs e)
    {
    }

    private void btnShowPhones_Click(object sender, EventArgs e)
    {
    }

    private void btnDial_Click(object sender, EventArgs e)
    {
    }

    private void btnRedial_Click(object sender, EventArgs e)
    {
    }

    private void btnHangUp_Click(object sender, EventArgs e)
    {
    }
}
4

3 回答 3

2

我真的不明白您为什么要要求某人完成此操作,因为您已经完成了整个工作……除非有人向您提供了您发布的代码。

如果您想在显示之前将文本框数据存储在单独的类中,请在您的代码隐藏中实例化它:

public partial class TelephoneEntryForm : Form
{
    private Telephone telephone;

    public TelephoneEntryForm()
    {
        InitializeComponent();

        telephone = new Telephone();
    }

然后我可能会订阅KeyDown所有这些文本字段的事件,并将每个文本字段的值保存TextBox在您的 Telephone 实例中它们各自的属性中。然后在 中btnShowPhones_Click,使用 Telephone 实例中的值在 中显示RichTextBox

这应该为您提供足够的信息来完成它。让我们知道您是否遇到困难,以及卡住的确切位置,以便有人可以帮助您。

于 2013-03-26T03:29:28.510 回答
1

好吧,如果我对您的理解正确,您已经有了按钮 Enter click 事件处理程序 -btnEnter_Click方法... 这意味着在此方法中编写的所有代码都将在您click输入按钮时执行。

private void btnEnter_Click(object sender, EventArgs e)
{
     // Read tha values of textboxes (not necessarily but more readable)
     string manufacturer = manufacturerTextBox.Text;
     string model = modelTextBox.Text;
     string phoneNumber = phoneNumberTextBox.Text;

     // Create new phone instance, based on entered data
     var telephone = new Telephone(manufacturer, model, phoneNumber);

     // Enter this data to reachtextbox
     richtextbox1.Text += string.Format("{0}\n", telephone);

     // Clear text boxes             
     manufacturerTextBox.Text = modelTextBox.Text = phoneNumberTextBox.Text = string.empty;
 }

但问题是,在这种情况下,您将丢失所有输入的数据,因为您的ToString()方法仅输出Manufacturer...您应该修改此方法以输出完整的电话信息...类似于:

class Telephone
{
    ...
    public override string ToString()
    {
         return string.Format("Manufacturer: {0}; Model: {1}; Phone number: {2}", Manufacturer, Model, PhoneNumber)
    }
    ...
}

或将此数据保存在任何类型的文件中。

于 2013-03-26T03:47:07.747 回答
0

您是在问如何连接一个按钮来调用您的代码吗?如果是这种情况,请双击该按钮以创建事件处理程序方法。在该方法中,添加对您想要的任何代码的调用。

于 2013-03-26T03:27:35.947 回答