前提
C#でオセロを作っています。
デザインを設計している時に、画像をプロパティで数値や画像を設定しています。
プロパティ内->データ内->(DataBindings)
プロパティ内->データ内->Tag
にデータを入れました。
画像をクリックしたイベントを実装中に以下の問題が発生しました。
実現したいこと
- FormGame_Loadメソッドでintで設定したTagの中身をpictureBox_Clickメソッド内で別の変数に使いたい。
-多数のPictureBoxから同じメソッドへアクセスする。どの画像からクリックされたのか、分かるためにタグの数字を使いたい。
発生している問題・エラーメッセージ
エラーは発生しておらず、データがどこにあるか取り出せません。
エラーメッセージ
該当のソースコード
C#
1using System; 2using System.Collections.Generic; 3using System.ComponentModel; 4using System.Data; 5using System.Drawing; 6using System.Linq; 7using System.Security.Policy; 8using System.Text; 9using System.Threading.Tasks; 10using System.Windows.Forms; 11 12namespace Othello 13{ 14 public partial class FormGame : Form 15 { 16 public FormGame() 17 { 18 InitializeComponent(); 19 } 20 21 private void FormGame_Load(object sender, EventArgs e) 22 { 23 pictureBox1.Tag = 1; 24 } 25 26 private void pictureBox_Click(object decision, EventArgs e) 27 { 28 int a; 29 30 //数値を入れる。 31 a=pictureBox1.Tag; 32 a=pictureBox2.Tag; 33 …… 34 }
試したこと
https://learn.microsoft.com/ja-jp/dotnet/api/system.windows.forms.control.databindings?view=windowsdesktop-7.0
全部はわからなかったのですが、分かる部分でコピーをして試したのですが、うまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
Windows 10 の Visual Studio 2022 で Windows Forms アプリをターゲットフレームワーク .NET Framework 4.7 で作っています。
何をどうやって入れたのでしょうか?
またどうやって確認されたのでしょうか?
またコメントアウトしてますが、その部分は「pictureBox1」ではなく「pictureBox11」となっていますが単純なスペルミスとかじゃなくてですか?
pictureBox1.Tag を FormGame_Load 中に 数値 を 入れました。
ビジュアルスタジオで確認をしております。
スペルミスがあり、すみませんでした。
現在も取り組んでいるので実際のソースと若干違う部分がでてきており、
現時点もTagに入れた数字が取り出せない状態は続いております。
何か知っていたら情報を教えていただけないでしょうか。
よろしくお願いいたします。
何を何で作っているか書いてください。(例: Windows 10 の Visual Studio 2022 で Windows Forms アプリをターゲットフレームワーク .NET Framework 4.8 で作っています・・・とか)
そもそも何がしたいのかも書いてもらった方が良さそうです。 XY 問題のような気がします。
XY 問題というのは、質問者さんに X という課題があって、それに対して Y という解決策を考えついて Y について質問したが(質問には X は書かないで)、Y は X の解決策とはなっておらず、回答者と質問者間で話がかみ合わず、一向に解決にならないということです。
X も書いてください。
回答の【追記】に対するフィードバックを返してください。
遅れて申し訳ありません。
追記に対してメッセージをお送りいたしました。
ご確認のほど、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー