// 这是动态创建的控件,控件绑定同一个事件
pictBox[1]->Click += gcnew System::EventHandler(this, &Form1::pictBox_OnClick );
pictBox[2]->Click += gcnew System::EventHandler(this, &Form1::pictBox_OnClick );private: System::Void pictBox_OnClick(System::Object^ sender, System::EventArgs^ e)
{
// 我能够判断是哪一个pictBox的鼠标单击事件呢?
}
谢谢。。
pictBox[1]->Click += gcnew System::EventHandler(this, &Form1::pictBox_OnClick );
pictBox[2]->Click += gcnew System::EventHandler(this, &Form1::pictBox_OnClick );private: System::Void pictBox_OnClick(System::Object^ sender, System::EventArgs^ e)
{
// 我能够判断是哪一个pictBox的鼠标单击事件呢?
}
谢谢。。
解决方案 »
- 一段简单代码,高手帮帮忙
- C#中创建存储过程的问题
- 使用SplitContainer时,发现里面的控件没有随拖动滚动条而随之改变控件的大小,应该怎么做???
- vs2005中的DataGrid 是否有此功能?
- 程序运行时偶尔出现Run time Debugging Service 程序问题还是系统环境问题?
- 数据表里是real类型,读取时定义成什么类型啊,
- 如何根据窗体的句柄来操作窗体中的控件?
- Media Encoder编程中SrcGrp.set_Profile(Pro)问题
- 急招C#高级工程师两名
- C#编写webservice的一个问题
- 窗体间传递消息
- javascript有没有键值对类似hashtable?
if((sender as PictureBox).Name == "pictureBox1")
if((sender as PictureBox).Equal(pictureBox1))
{
.....
}
{
pictbox类型 pictbox=sender as pictbox类型
} 这样就可以得到到底是哪个pictbox了
不过这样,不是有点儿耦合的太紧了?
{
if(System::Object::ReferenceEquals(sender, pb))
{
//to do
}
}
语法不一样的,各位解答问题要先看清题干
请问再具体点吧,谢谢了,因为我对C++。NET不熟,谢谢了
也怪我最开始没说清楚是C++.NET
array<System::Windows::Forms::PictureBox^>^ pictBox;
或
System::Collections::Generic::List<PictureBox^>^ pictBox;for each类似于C#中的foreach语法,可以遍历集合中的所有元素通过比较引用是否相同可以判断是你在pictBox中的哪一个PictureBox
你的PictureBox不是通过设计器加进去的吧?
如果是在代码里自己创建的控件,你要自己指定其Namethis->pictureBox3 = (gcnew System::Windows::Forms::PictureBox());
this->pictureBox3->Location = System::Drawing::Point(0, 0);
this->pictureBox3->Size = System::Drawing::Size(100, 50);
this->pictureBox3->Name = L"My Picture box";
this->pictureBox3->TabIndex = 0;
this->pictureBox3->TabStop = false;
this->pictureBox3->Click += gcnew System::EventHandler(this, &Form1::pictureBox1_Click);
参数 sender 就是你触发这个事件的控件,你可以强制转换成 PictureBox 类型,然后使用其属性来判断,具体是哪一个PictureBox。
可以考虑使用 控件的Tag属性来存储标识。
如果有多个PictureBox,比如5个,其中第1,2个Onclick事件处理逻辑一样,第3,4个处理一样,第5个又单独是一种。
就可以把第1,2个PictureBox的Tag设置为一样的,第3,4个的Tag是另一个值,第5个单独一个值。