数日前に C# を書き始めたばかりで、現在作成中のプログラムについて助けが必要です。
これは実際のコードではなく、元のコードがどのように構築されているかを示すために書いたものです。
public partial class form1 : form
{
int container;
int resource;
int capacity;
int price;
int total;
int basket = 10; //container that holds 10 slots
int apples = 2; //resource that takes 2 slots per resource
}
public form1()
{
private void checkbox1_checkedchanged(object sender, eventargs e) //basket checkbox
{
if (((CheckBox)checkbox1).Checked == true)
{
basket = container;
}
}
private void checkbox2_checkedchanged(object sender, eventargs e) //apples checkbox
{
if (((CheckBox)checkbox2.Checked == true)
{
apples = resource;
}
}
private void button1_Click(object sender, EventArgs e) //calculate button
{
container / resource = capacity; //to see how many resources the basket can hold
/* textbox 1 is where they write the price for what 1 apple cost */
price = int.Parse(textbox1.text);
capacity * price = total;
textbox2.AppendText(total); //textbox2 is where they will se how much the apples cost
}
}
問題は、「button1」のコードからエラーが発生することです。
- 割り当ての左側は、変数、プロパティ、またはインデクサーでなければなりません
- マネージド型 ('capacity') のアドレスを取得したり、サイズを取得したり、ポインタを宣言したりすることはできません
- 「WindowsFormApplication1.Form1.Capacity」は「フィールド」ですが、「タイプ」のように使用されます
- ポインタは固定サイズのバッファであり、安全でないコンテキストでのみ使用できます
- タイプ 'int' を 'capacity*' に暗黙的に変換することはできません。明示的な変換が存在します (キャストがありませんか?)
- 「System.Window.Forms.TextBoxBase.AppendText(String)」に最適なオーバーロードされたメソッドの一致には、いくつかの無効な引数があります
- 引数 1: 'int' から 'string' に変換できません
だから、私が望む種類のアプリケーションを実現するために何が間違っているのか疑問に思っています。アプリケーションは次のようになります。
編集:元のコードは削除されました
Edit2:これはボタン1が現在どのように見えるかであり、車両を塩で分割しようとしたときに発生するエラーを除いてエラーはありません(他のリソースは試していませんが、リストされているものです)。コードは以前と同じように見えますが、David Pilkington のおかげでこれを変更しました。
private void button1_Click(object sender, EventArgs e) /* calculate-button */
{
capacity = vehicle / resource;
total = capacity * price;
textBox4.AppendText(total.ToString());
}