我正在Windows窗体上测试一个银行帐户。容易入手的东西。在我的dep_Click
方法中,我有一种方法,如果我点击它,我会在aMtBox
中找到我想要的代码。我想进一步扩展并尝试使用一些属性等来创建BankAccount类。我使用withdrawl_Click
方法来尝试这样做。我看到的所有内容在控制台应用程序中看起来都没问题,除了我不知道如何调用withdrawl_Click
中的方法;也就是说,我能够使用我写的代码。
代码完全错误,Windows窗体应用程序有什么不同吗?或者是否存在我/未理解的概念。 请解释并向我说清楚。
编辑:我更新了我的代码,但是在底部附近的withDrawl
方法中仍然需要返回类型的错误。还是不确定。
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 WindowsFormsApplication2
{
public partial class Form1 : Form
{
BankAccount a = new BankAccount(iBa, num1);
public Form1()
{
InitializeComponent();
decimal iBa = 300.00m; // needs fixed to be more universal
this.aMtBox.Text = iBa.ToString();
}
private void dep_Click(object sender, EventArgs e)
{
try
{
decimal num1 = 0.00m;
decimal iBa = 300.00m;
num1 = Convert.ToDecimal(this.depBox.Text);
decimal total = num1 + iBa;
this.aMtBox.Text = total.ToString();
}
catch
{
MessageBox.Show("ERROR", "Oops, this isn't good!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void withdrawl_Click(object sender, EventArgs e)
{
}
public class BankAccount
{
decimal iBa;
decimal num1;
decimal withT;
public decimal IBa
{
get
{
return iBa;
}
}
public decimal Num1
{
get
{
return num1;
}
}
public decimal Witht
{
get
{
return withT;
}
}
public withDrawl(decimal n, decimal s )
{
iBa = n;
num1 = s;
withT = iBa - num1;
}
}
}
}
答案 0 :(得分:1)
在您的代码中,您使用此行instantiating作为第二课,BankAccount
:
BankAccount a = new BankAccount();
但是,你没有在任何地方使用它。根据您在原始帖子中所说的内容,要获得第二堂课的内容,您可以这样称呼它们:
a.IBa;
a.Num1;
a.withDrawl;
以下是一个非常简单的例子:
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string aValue = String.Empty;
Something a = new Something();
a.SomeThingElse = aValue;
}
}
public class Something
{
public string SomeThingElse
{
get { return SomeThingElse; }
set { SomeThingElse = value; }
}
}
}
在上面的示例中,您可以看到我在public class Something
事件中实例化我的新类button1_Click
,然后使用a.SomethingElse = aValue
调用其中的属性,这是一个{ {1}}我已在初始课程中定义。在这种情况下,string
因为它已初始化为aValue=""
,即“”“。
另外,在旁注中,您可能希望将第二个类的抽象级别设置为String.Empty
,因为未声明它public
,它将默认为public
(其中在这种情况下不会引起问题 - 这只是要记住的事情。)
我在另一个例子中添加 - 这个使用你提供的一些代码:
private
答案 1 :(得分:1)
private void withdrawl_Click(object sender, EventArgs e)
{
this.aMtBox.Text = a.withDrawl().ToString();
}
这将使其编译 - 它将值300从WithDrawl()方法传递到您的aMtBox文本框中。在depBox文本框中输入一个值为50,然后单击dep按钮将在aMtBox文本框中显示值为350。
此外,如果单击名为withdrawl和dep的按钮并且没有任何反应:尝试在设计器中打开表单并双击每个按钮。您应该登陆withdrawl_Click,dep_Click事件处理程序。
编辑: 响应Withdrawl方法返回类型错误:
public decimal withDrawl(decimal n, decimal s )
{
iBa = n;
num1 = s;
withT = iBa - num1;
return withT;
}