经过一段时间的努力,终于把这个小控件给搞定了!
控件下载地址:http://download.csdn.net/source/1918201
先放一张图看看吧:
这个控件用于浏览图片,可以实现图片的缩放、移动、与滚动条的配合等功能,基本满足了图片浏览的一般功能。
控件功能:
1、通过拖拽滚动条实现图片移动;
2、滚动鼠标滚轮轮实现图片上下移动;
3、按住Shift键滚动鼠标滚轮实现图片左右移动;
4、按住Ctrl键滚动鼠标滚轮实现图片的缩放。
5、通过设置isMove=True是鼠标具有拖拽图片功能。
6、控件缩放时自动调整图片到合适位置。
控件的几个属性的说明:
image:不用多说,当然是控件中显示的图片了。它是Image类型的。设置该属性时,会自动调用getImage(Image img)方法。
isMove:bool类型变量,用于设置控件中的图片是否可以被鼠标拖拽。
控件中的一个方法:
void getImage(Image img)
另一种设置控件中图片的方法。在此方法中设置了控件中显示的图像,同时也对图像的初始大小、滚动条属性进行了设置。
控件的制作过程可以参见这个网页 https://blog.csdn.net/sunnyzls/article/details/6480541
下面我简单说一下怎样运用这个控件:
1、创建c#下Windows窗体应用程序,起名叫useUseControl:
2、将控件添加到工具栏:
第一步:
点完之后要稍等片刻,程序打开下一窗口需要一点时间,请耐心等待。
第二步:
这就是刚才等待的那个对话框。点击浏览。
第三步选择控件的*.dll文件:
下面就是添加成功之后的结果了:
好了,控件已经成功添加到工具栏了。接下来就看使用它是多么简单吧。
3、使用控件
窗体布局如下:除ImageView控件外还用到了Button、checkBox和openFileDialog控件。其中ImageView控件的Anchor属性设置为Top, Bottom, Left, Right。另外两个控件不用设置什么。
编程序啦!
Code:
- /***************************************************************************
- * button的onClock事件,用于打开图片
- ***************************************************************************/
- private void button1_Click(object sender, EventArgs e)
- {
- openFileDialog1.Filter = "图片文件|*.bmp;*.jpg;*.png";
- if (openFileDialog1.ShowDialog() == DialogResult.OK)
- {
- imageView1.image = Image.FromFile(openFileDialog1.FileName);
- //或者:imageView1.getImage(Image.FromFile(openFileDialog1.FileName));
- }
- }
- /***************************************************************************
- * checkBox1的CheckedChanged事件,用于开启和关闭鼠标拖拽图片的功能
- ***************************************************************************/
- private void checkBox1_CheckedChanged(object sender, EventArgs e)
- {
- imageView1.isMove = checkBox1.Checked;
- }
就不多解释了。程序编完了。发张图吧:
谢谢大家!