質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

受付中

計算結果をもとに値を参照し、計算させるやり方がわかりません。

town
town

総合スコア6

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

2回答

0評価

0クリップ

275閲覧

投稿2022/05/14 04:25

編集2022/05/21 14:55

使用言語:c#
環境:Windows
Windows Forms アプリを Visual Studio 2022 でフレームワークを .NET Framework 4.8 で作っています

作成しているexeソフト画像
イメージ説明
実現したいこと
計算結果に表示されている数字(テキストボックスに数字を入れて計算ボタンを押すと計算結果に表示するようにしています)をもとに右側のリストボックスから選び適応ボタンを押すと、計算結果に反映されるといった具合にしたいです。リストボックスの文字は個別で数字を持っていて、適応ボタンを押すと計算結果*2倍や0.5倍という具合です。
例:s:100(計算結果)だとする。リストボックスのA2017 は2なので適応をクリックでs:200になる。S45cは0.5なので、適応ボタンを押すとs:50になる。

現状
計算結果から参照した数字をどう引き抜けばよいのかわからないです。
もともとは計算結果の変数を移動すればいいのでは。と考えていたのですがc#は変数を別のオブジェクトから変数をもってこれないということを知り、詰まってしまいました。

質問まとめ
1,リストボックスの文字に個別に数字を持たせるやり方、
2,リストボックスの数字をもとに適応ボタンを押すと、計算結果に反映させるには

上記2つご教示お願い致します。

コード いらない部分は省いています。仮に作っているので変数は適当です。申し訳ないです。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;は namespace WindowsFormsApp3 { public partial class form1 : Form を public form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) {     // リストボックスに表示されている文字コード listBox1.Items.Add("A2017"); listBox1.Items.Add("S45c"); listBox1.Items.Add("sus304"); } private void button3_Click(object sender, EventArgs e) {     //周速の下のテキストボックスからaに代入 int a = Convert.ToInt32(textBox1.Text);     //工具径の下のテキストボックスからbに代入 int b = Convert.ToInt32(textBox3.Text);     //cに計算結果を代入 double c = (1000 * a) / (3.14 * b);     //cを整数にした値をxkkに代入 int xkk = (int)c;     //計算結果をラベル1に表示(画面左下の計算結果というTextに) label1.Text = Convert.ToString(xkk); } private void button1_Click(object sender, EventArgs e) {     //適応ボタンです。画面右下。ここをクリックすると画面左下の計算結果(xkk)の値にリストボックスの数値をかけて計算したい。     //リストボックスの文字コードに数値を割り振る int A2017 = 2; double s45c = 0.5;          //画面左下の計算結果の値を引っ張ってくる int hkhkj = Convert.ToInt32(textBox1.Text);          //画面左下の計算結果*2(リストボックスの数値) int hosei = hkhkj* A2017; label1.Text = Convert.ToString(hosei); } } }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

y_waiwai

2022/05/14 04:50

あなたのいう計算結果とはどれのことでしょうか。 問題が見えません
town

2022/05/14 05:06

周速のテキストボックスと工具径のテキストボックスを計算させた値が計算結果です。
y_waiwai

2022/05/14 05:09

提示のコードのどれに当たるんでしょう
SurferOnWww

2022/05/14 05:27 編集

何を何で作っているかを書きましょう。(例: Windows Forms アプリを Visual Studio 2022 でフレームワークを .NET Framework 4.8 で作っています・・・とか) コードに出てくる TextBox, Button, Label のどれが画像のどれに該当するのか教えてください。そして画像のどれに何を入力して、どのように操作すると、求める結果がどのように計算されるのかの数式と、計算結果がどれに表示されるのか教えてください。
town

2022/05/14 06:24

不慣れで申し訳ないです。お手数をおかけしました。 コメントで詳細に書きました。  求める結果の式は、(周速(a)*1000)/ (3.14*工具径(b)= s:計算結果 画面みぎのリストボックスの文字を選択して計算すると s:計算結果*2(A2017)という具合です。 この結果を画面左下の計算結果に上書きされて計算されます。 まだ上段しかコードを書いていなく、わかりにくくなってしまいました。 申し訳ないです。。
SurferOnWww

2022/05/14 22:54

質問者さん、その後無言ですが、回答したのでそれに対するフィードバックを返してください。役に立った/立たなかったぐらいはすぐに返せるのでは? 役に立たなかったならどこがダメかを書くとより期待に近い回答が出てくるかも。とにかく無言は NG です。
SurferOnWww

2022/05/16 23:24

二度目のお願い: 質問者さん、その後無言ですが、回答したのでそれに対するフィードバックを返してください。役に立った/立たなかったぐらいはすぐに返せるのでは? 役に立たなかったならどこがダメかを書くとより期待に近い回答が出てくるかも。とにかく無言は NG です。
town

2022/05/21 05:31

SurferOnWww 様 回答いただきましてありがとうございます。 また、返信遅くなりまして申し訳ございません。 早速ですが、結論から言うとまだ解決に時間を要しています。 当方初心者でして、専門用語が多いため調べながら引き続き解決していこうとおもいます。
SurferOnWww

2022/05/21 05:55

調べても分からないところがあったらそのままにしておかないで質問してください。 回答に載せたサンプルコードは、TextBox, Button, ListBox, Label をデザイン画面で必要分ドラッグ&ドロップしてボタンのイベントハンドラを設定すれば動きますので試してみると良いと思います。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。