以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如何将模式窗口,通过代码动态改变为:独立窗口。 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=90641) |
-- 作者:yancheng -- 发布时间:2016/9/19 8:53:00 -- 如何将模式窗口,通过代码动态改变为:独立窗口。 一个模式窗口多个地方要用到,有的地方要求 :采用模式窗口,窗口关闭才能操作其它窗口。而有的地方希望把它变成独立窗口,可以同时操作多个窗口。 如何 通过代码来设计一个窗口的,当窗口1打开时采用:模式窗口;窗口2打开时采用, 独立窗口?
|
-- 作者:jspta -- 发布时间:2016/9/19 8:56:00 -- 好像不能改模式。 |
-- 作者:有点蓝 -- 发布时间:2016/9/19 10:19:00 -- 参考,http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=65620 也只能在打开窗口前更改,窗口打开后是改不了的
|
-- 作者:yancheng -- 发布时间:2016/9/19 12:40:00 -- 窗口:AfterLoad 的事件,写入的。 If Vars("cs") Then e.Form.BaseForm.Visible = False e.Form.BaseForm.Show basemainform.AddOwnedForm(e.Form.BaseForm) End If 用了上面的方法,能转换成独立窗口,但是: 下面的代码执行得跟我之前的不一样了?(原来执行的是:IF 第一段代码,esleif 第二段代码。可以正常判断执行;现在好像只执行是最后一个 ELSE 最后一段)代码。怎么解决这个问题? If Forms("材料").Opened AndAlso Forms.ActiveForm.Name="材料" Then e.Form.Controls("插入材料图片").Visible=True e.Form.Controls("插入材料").Visible= False e.Form.Controls("编辑材料").Visible= False e.Form.Controls("PictureViewer1").ReadOnly= BooleanEnum.False ElseIf Forms("导入材料").Opened AndAlso Forms.ActiveForm.Name="导入材料" Then Dim dr As Row = Tables("导入材料.导入材料明细").Current Dim tb As WinForm.TextBox = e.Form.Controls("TextBox1") If dr IsNot Nothing Then tb.Value = dr("导入材料名称") End If e.Form.Controls("插入材料图片").Visible=False e.Form.Controls("插入材料").Visible= False e.Form.Controls("编辑材料").Visible= True e.Form.Controls("上移一行").Visible= True e.Form.Controls("下移一行").Visible= True e.Form.Controls("PictureViewer1").ReadOnly= BooleanEnum.True Else e.Form.Controls("插入材料图片").Visible=False e.Form.Controls("插入材料").Visible= True e.Form.Controls("编辑材料").Visible= True e.Form.Controls("上移一行").Visible= False e.Form.Controls("下移一行").Visible= False e.Form.Controls("PictureViewer1").ReadOnly= BooleanEnum.True End If 上面的问题。我把代码改成下面的了。看上去比较多,不过好像功能通达到。不知道这样写对不?请老师看一下。 If Forms("材料").Opened AndAlso Forms.ActiveForm.Name="材料" Then e.Form.Controls("插入材料图片").Visible=True e.Form.Controls("插入材料").Visible= False e.Form.Controls("编辑材料").Visible= False e.Form.Controls("上移一行").Visible= False e.Form.Controls("下移一行").Visible= False e.Form.Controls("PictureViewer1").ReadOnly= BooleanEnum.False If Vars("cs") Then e.Form.BaseForm.Visible = False e.Form.BaseForm.Show basemainform.AddOwnedForm(e.Form.BaseForm) End If ElseIf Forms("导入材料").Opened AndAlso Forms.ActiveForm.Name="导入材料" Then Dim dr As Row = Tables("导入材料.导入材料明细").Current Dim tb As WinForm.TextBox = e.Form.Controls("TextBox1") If dr IsNot Nothing Then tb.Value = dr("导入材料名称") End If e.Form.Controls("插入材料图片").Visible=False e.Form.Controls("插入材料").Visible= False e.Form.Controls("编辑材料").Visible= True e.Form.Controls("上移一行").Visible= True e.Form.Controls("下移一行").Visible= True e.Form.Controls("PictureViewer1").ReadOnly= BooleanEnum.True If Vars("cs") Then e.Form.BaseForm.Visible = False e.Form.BaseForm.Show basemainform.AddOwnedForm(e.Form.BaseForm) End If Else e.Form.Controls("插入材料图片").Visible=False e.Form.Controls("插入材料").Visible= True e.Form.Controls("编辑材料").Visible= True e.Form.Controls("上移一行").Visible= False e.Form.Controls("下移一行").Visible= False e.Form.Controls("PictureViewer1").ReadOnly= BooleanEnum.True If Vars("cs") Then e.Form.BaseForm.Visible = False e.Form.BaseForm.Show basemainform.AddOwnedForm(e.Form.BaseForm) End If End If [此贴子已经被作者于2016/9/19 13:07:03编辑过]
|
-- 作者:有点蓝 -- 发布时间:2016/9/19 14:32:00 -- 自己测试没有问题就可以了 |