以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  ..net控件转换ft报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93064)

--  作者:chenjiu6202
--  发布时间:2016/11/19 19:46:00
--  ..net控件转换ft报错
Dim pictureBox1 As New system.windows.Forms.PictureBox()
pictureBox1 = e.Form.Controls("pictureBox1")
代码报错,如下:

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2016.7.29.1
错误所在事件:窗口,FingerRecord,AfterLoad
详细错误信息:
无法将类型为“Foxtable.WinForm.PictureBox”的对象强制转换为类型“System.Windows.Forms.PictureBox”。


哪位老师告诉我,应该怎么改才正确啊!郁闷了好几天



--  作者:jspta
--  发布时间:2016/11/19 22:11:00
--  
Dim pictureBox1 As New system.windows.Forms.PictureBox()
pictureBox1 = e.Form.Controls("pictureBox1").basecontrol

--  作者:有点青
--  发布时间:2016/11/20 9:37:00
--  

 为什么要把.net控件转ft控件?那你把new出来的控件,直接放到窗口上不就行了?

 

e.form.controls("panel1").basecontrol.Controls.add(你的控件)

 

 

[此贴子已经被作者于2016/11/20 9:38:57编辑过]

--  作者:chenjiu6202
--  发布时间:2016/11/20 9:48:00
--  
谢谢!其实我也是这个意思,但不知道怎么做
--  作者:有点青
--  发布时间:2016/11/20 10:33:00
--  

 如

 

Dim pic1 As new system.windows.Forms.PictureBox
pic1.dock = 5
pic1.image = getimage("d:\\test.jpg")
e.form.controls("panel1").basecontrol.Controls.add(pic1)


--  作者:chenjiu6202
--  发布时间:2016/11/20 10:35:00
--  
Dim pictureBox1 As New system.windows.Forms.PictureBox()
e.Form.panel.controls.add(pictureBox1)
pictureBox1.Size = New Size(210, 110)
Dim g As Graphics = PictureBox1.CreateGraphics()
Dim bmp As Bitmap = New Bitmap(PictureBox1.Width, PictureBox1.Height)
g = Graphics.FromImage(bmp)
Dim dc As Integer = g.GetHdc().ToInt32()
FaceEngX1.PrintImageAt(dc, 0, 0, bmp.Width, bmp.Height)
g.Dispose()
PictureBox1.Image = bmp


--  作者:chenjiu6202
--  发布时间:2016/11/20 10:37:00
--  
上面这段代码执行后并没有在当前窗口添加picture1这个控件
两位老师说的,我都试过了,都报错,哪个老师帮忙看看,
问题是出在哪里了?

--  作者:有点青
--  发布时间:2016/11/20 10:38:00
--  
  参考5楼。
--  作者:chenjiu6202
--  发布时间:2016/11/20 16:05:00
--  
按有点青指导的意见,测试后其实并没有在当前窗口添加picture1控件,图片肯定也是不显示
不知道错哪了

--  作者:有点青
--  发布时间:2016/11/20 18:13:00
--  

 代码没问题,如果没有内容,就是你画的东西没内容。

 

Dim pictureBox1 As New system.windows.Forms.PictureBox()
e.Form.panel.controls.add(pictureBox1)
PictureBox1.Image = getimage("d:\\test.jpg")