我们可以在VB.NET中使用VB6 PictureBox吗?
我有一个迁移项目,其中包含PictureBox事件.当它迁移到VB.NET 2008时,会转换一些不正确的事件.因为VB.NET中的PictureBox与VB6 PictureBox不同.我想知道一件事,我们也可以在VB.NET中使用同一图片框吗?我认为这可能有助于我们使用相同的事件.我们可以这样吗?它包含一些事件,例如Picture_paint,AutoRedraw,setPoint等.它还具有一些Twips和Pixel Calculation.
请问有帮助吗? .NET中是否有任何等效于VB6图片框的升级控件?
I have a Migrated Project which contains PictureBox Events. When it is migrated to VB.NET 2008 some events are converted which are not correct. Because the PictureBox in VB.NET is different to VB6 PictureBox. I want to know one thing, can we use the Same picture box in VB.NET also. I think which may help us to use the same events. Can we do like this ? It contains some events like Picture_paint, AutoRedraw, setPoint etc. It has some Twips and Pixel Calculation also.
Will this help? Do we have any upgraded control in .NET equivalent to Picture box of VB6?
VB6和.NET控件之间的区别以及在迁移VB6时会发现的问题具有用户界面的应用程序.大多数控件共有的差异在控件(常规)"部分中进行了描述.
有关VB6和VB.NET语言之间的差异的列表,请参见此处.
除非另有说明,否则VB迁移合作伙伴完全支持此页面中提到的所有Visual Basic 6功能.值得注意的是,保留了属性和方法的名称,这确保了即使是后期绑定的引用也可以在迁移到VB.NET之后正常工作.有关更多信息,请阅读手册和知识库部分.
PictureBox控件
外观和BorderStyle属性
根据以下规则,已删除VB6 Appearance属性并将其效果集成到VB.NET BorderStyle属性中:如果BorderStyle在VB6下等于0-None,则控件没有边框,并且Appearance属性被忽略;如果在VB6下BorderStyle等于1-FixedSingle,并且外观等于0-Flat,则将VB.NET BorderStyle设置为1-Flat;如果在VB6下BorderStyle等于1-FixedSingle,并且外观等于1-ThreeD,则将VB.NET BorderStyle设置为2-Fixed3D.
AutoSize属性
.NET PictureBox控件不会公开此属性,因此您必须手动调整图像的大小.请注意,如果AutoSize为True并且您正在以图元文件格式分配图像,则可以通过将Image分配给BackgroundImage属性并将ImageLayout.Stretch分配给BackgroundImageLayout属性来重现VB6行为.
VB迁移合作伙伴完全支持此属性.无需手动调整其他属性.
变更事件
VB.NET PictureBox不支持Change事件.如果通过将图像分配给BackgroundImage属性来显示图像,则可以改为处理BackgroundImageChanged事件.
VB迁移合作伙伴完全支持Change事件.无需修改代码.
容器功能
PictureBox控件的VB6和VB.NET版本之间的主要区别在于,后者不能用作其他控件的容器.如果原始应用程序使用PictureBox作为控件容器,则需要手工大量修改升级向导生成的VB.NET代码.
VB迁移合作伙伴克服了这一限制,并正确迁移了用作控件容器的PictureBox控件.
KeyDown和KeyUp事件
VB.NET支持这些事件,但是箭头键的处理方式略有不同.在VB6中,将这些键与其他任何键一样对待,并会通知KeyDown和KeyUp事件.在VB.NET下,这些键可以将输入焦点移至其他控件,并且可能不会通知事件.
VB迁移合作伙伴可确保完全像VB6中一样处理箭头键,因此无需进行代码调整.
图片属性
VB.NET PictureBox控件不支持Picture属性.必须将其替换为Image属性或BackgroundImage属性.
有关更多详细信息,请访问:
http://msdn.microsoft.com/en-us/library/zzt5x46b (v = vs.71).aspx [
the differences between VB6 and .NET controls and the problems you can find in migrating VB6 applications with user-interface. The differences that are common to most controls are described in the Controls (general) section.
For a list of differences between VB6 and VB.NET language, see here.
Unless otherwise stated, VB Migration Partner fully supports all the Visual Basic 6 features mentioned in this page. It is worth noticing that names of properties and methods are preserved, which ensures that those even late-bound references work correctly after the migration to VB.NET. For more information, please read the manual and the knowledge base section.
PictureBox control
Appearance and BorderStyle properties
The VB6 Appearance property has been dropped and its effect has been integrated into the VB.NET BorderStyle property, according the following rule: if BorderStyle is equal to 0-None under VB6 then the control has no border and the Appearance property is ignored; if BorderStyle is equal to 1-FixedSingle and Appearance is equal to 0-Flat under VB6, then the VB.NET BorderStyle is set to 1-Flat; if BorderStyle is equal to 1-FixedSingle and Appearance is equal to 1-ThreeD under VB6, then the VB.NET BorderStyle is set to 2-Fixed3D.
AutoSize property
The .NET PictureBox control doesn’t expose this property and you must manually resize the image. Notice that, if AutoSize is True and you are assigning an image in Metafile format, you can reproduce the VB6 behavior by assigning the Image to the BackgroundImage property and by assigning ImageLayout.Stretch to the BackgroundImageLayout property.
VB Migration Partner fully supports this property. No manual adjustments of other properties are necessary.
Change event
The Change event isn’t supported by the VB.NET PictureBox. If you display an image by assigning it to the BackgroundImage property, you can handle the BackgroundImageChanged event instead.
VB Migration Partner fully supports the Change event. No modifications in code are necessary.
Container functionality
The main difference between the VB6 and VB.NET versions of the PictureBox control is that the latter can’t work as a container for other controls. If the original application used the PictureBox as a control container, VB.NET code generated by the Upgrade Wizard needs to be heavily modified by hand.
VB Migration Partner overcomes this limitation and correctly migrates PictureBox controls that work as control container.
KeyDown and KeyUp events
These events are supported under VB.NET, however there is a minor difference in how arrow keys are processed. In VB6 these keys are treated like any other keys and are notified to the KeyDown and KeyUp events. Under VB.NET these keys can move the input focus to a different control and might not notified to the events.
VB Migration Partner ensures that arrow keys be processed exactly as in VB6, thus no code adjustment is necessary.
Picture property
The Picture property isn’t supported by the VB.NET PictureBox control. It must be replaced by the Image property or the BackgroundImage property.
for more details visit:
http://msdn.microsoft.com/en-us/library/zzt5x46b(v=vs.71).aspx[^]