2013-03-26 90 views
1

我有一個簡單的程序,我必須在這裏創建,但我不太確定如何啓動它。我已經定義了我的類文件,如下所示。我需要做的是製作Windows窗體應用程序(如下圖所示)。我需要將信息輸入到文本框中,然後將其輸出到底部的richtextbox1。我沒有在下面顯示,但在Windows窗體中,如果我在這個類文件中有這個方法,那麼如何調用一個方法?使用類表格將文本框數據複製到RichTextBox中

enter image description here

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) 
    { 
    } 
} 

回答

1

那麼,如果我正確理解你,你已經有了按鈕,輸入點擊事件處理程序 - btnEnter_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) 
    } 
    ... 
} 

或將此數據保存在任何類型的文件中。

0

你問如何掛鉤一個扣打電話給你的代碼?如果是這種情況,請雙擊該按鈕以創建事件處理程序方法。在該方法中,添加對任何你想要的代碼的調用。

2

我不明白你爲什麼要求某人完成這件事,因爲你已經完成了整個事情......除非有人向你提供了你發佈的代碼。

如果你要存儲文本框的數據在一個單獨的類顯示它之前,在你的代碼隱藏實例吧:

public partial class TelephoneEntryForm : Form 
{ 
    private Telephone telephone; 

    public TelephoneEntryForm() 
    { 
     InitializeComponent(); 

     telephone = new Telephone(); 
    } 

然後我可能會訂閱KeyDown事件所有這些文本字段,並將每個TextBox的值保存在您的電話實例中各自的屬性中。然後在btnShowPhones_Click中,使用電話實例中的值顯示在RichTextBox中。

這應該會給你足夠的信息去實現它。讓我們知道你是否陷入困境,並確切知道你卡在哪裏,所以有人可以幫助你。

+0

對不起,我還是新來的C#和Windows窗體,所以我只是有點困惑。 – fdsa 2013-03-26 03:30:39

+0

沒問題,看看你可以用它做什麼,如果遇到問題,請回復。 – 2013-03-26 03:31:24

相關問題