使用vb.net的五个技巧之窗体嵌套

author author     2023-04-11     158

关键词:

参考技术A

   NET框架组件太大了 比任何以前所写的封装功能的库都要大 这样有好处 因为它大幅削减了建立应用程序所需编写的代码 但是也使我们不可能完全了解该框架组件 但是我们很容易从中找到一些技巧

  窗体嵌套

  经验丰富的Visual Basic开发者知道多文档界面(MDI)应用程序能够包含子窗体 那些子窗体由MDI父窗体管理 但是如果没有MDI的能力你怎样实现包含嵌套窗体?例如一个MDI子窗体也可能需要包含另一个窗体

  有时能够使用用户控件(UserControl)实现这种功能 但是如果你真的需要把一个窗体嵌套进另一个窗体 有多种方法可以实现 窗体衍生自Control类 这意味着它能被放入另一个窗体的控件集合中 使用如下的逻辑

   Dim f As New frmEmbed ()Me Controls Add(f)f Show()

  但是很不幸 这段代码将会导致一个运行时(runtime)异常(见图 )

  

  

  图 试图把一个窗体添加到另一个窗体的控件集合时出现的运行时错误

  为了避免这种异常 该窗体的TopLevel属性必须设置为False(见下面的代码)

  

  Dim f As New frmEmbed () f TopLevel = False Me Controls Add(f) f Show()

  图 显示的是使用上面的逻辑实现的一个窗体嵌入另一个窗体 嵌入的窗体有一个标题条(它的颜色是未激活的系统颜色) 因此该嵌入窗体能在容器窗体内四处拖动 在图 中 该窗体从它的开始位置(左上角)拖到了右下角

  

  

  图 在容器窗体中有一个嵌入的窗体 嵌入的窗体能在容器窗体中拖动

  通常在显示嵌入的窗体前先设置它的位置 这只需要简单的设置嵌入窗体的Left和Top属性 嵌入窗体的位置与容器窗体是相对的

  与MDI子窗体不同 嵌入窗体能覆盖容器窗体上的控件 图 显示了它们的不同

  

  图 嵌入窗体(左)可以覆盖容器窗体上的控件 MDI子窗体(右)不能覆盖MDI父窗体上的控件

  在右边的MDI例子中 没有办法使按钮隐藏在子窗体的后面 但是在左边该按钮被嵌入窗体覆盖了

  当窗体第一次被嵌入时 它将显示在容器窗体上的已存在的控件的后面 当它被点击时 它走向前台并停留在那儿 这会打扰用户 但是能通过插入下面的代码防止这种情况发生

  f BringToFront()

  嵌入的窗体可以包含其它的嵌入窗体 没有实际的限制 图 显示了一个本身包含嵌入的窗体的嵌入窗体

  

lishixinzhi/Article/program/net/201311/12398

《ue4开发笔记》tip0rider的五个必备技巧

在UE4的C++工程和源码开发中,过去常使用VisualStudio系列来作为IDE,但VS始终对UE4工程支持的并不友好,小番茄VisualAssistX系列插件的安装也是十分玄学,时不时就失灵。JetBrains推出了RiderForUE4,经过一段时间的试用,感觉在日常开... 查看详情

vb.net教程3-2窗体编程之窗体3

...以及作者网名,未经作者允许不得用于商业目的。为窗体/控件添加事件的方法:双击窗体/控件,就会转入默认的事件,例如窗体是Load事件,按钮是Click事件,文本框是TextChanged事件……要修改引发的事件... 查看详情

在大型应用中使用redux的五个技巧(代码片段)

...于客户要在我们的平台上管理或发布广告资源,在AppNexus使用Redux创建的很多用户界面都需要处理大量数据以及非常复杂的交互。在开发这些界面的过程中,我们发现了一些有用的规则和技巧以维持Redux易于管理。以下的几点讨论... 查看详情

读构建之法后的五个问题

1.如何使自己的开发思维更加敏捷?2.如何分配好团队里面成员的任务,来达到最好的工作效率?3.当面临用户的需求和优化后的软件起冲突时,用户的需求一定是最重要的吗?那么用户根本不了解优化的软件的好处,一定强制要... 查看详情

构建之法的五个问题

问题一:这本书一直在强调合作,我不是很理解这个合作的具体含义,我认为的编程是项目经理安排任务然后每个人只要完成自己的任务就好。所谓的合作我认为的不外乎就是沟通。各种接口对接等等。可能会有会议讨论等等。... 查看详情

对读构建之法后提出的五个问题

读构建之法有以下几点疑惑:1.如何使自己的开发思维更加敏捷?2.如何分配好团队里面成员的任务,来达到最好的工作效率?3.当面临用户的需求和优化后的软件起冲突时,用户的需求一定是最重要的吗?那么用户根本不了解优... 查看详情

vb.net求帮忙!...

...窗体,在标题栏显示“单击窗体”,在窗体上显示“欢迎使用VB.NET”,当用户双击窗体,在标题栏显示“双击窗体”,在窗体上显示“谢谢使用!”。新建窗体,把maximizebox属性和MinimizeBox属性设为false,再添加一个Label1放置文字... 查看详情

android在开发中的使用技巧之解决scrollview嵌套recyclerview出现的系列问题(代码片段)

...到过ScrollView嵌套RecyclerView或者RecyclerView嵌套RecyclerView来使用,也会遇到一堆奇奇怪怪的问题,比如滑动卡顿、数据加载不完、数据加载完后没有停留在顶部等问题今天我们就来写一篇RecyclerView嵌套版本的解决方案今年六月份的IO大... 查看详情

数据网格视图更新,在 vb.net windows 窗体中编辑和删除,使用多个表来填充 datagridview

】数据网格视图更新,在vb.netwindows窗体中编辑和删除,使用多个表来填充datagridview【英文标题】:datagridviewupdate,Editanddeleteinvb.netwindowsformthatusingmultipletabletopopulatedatagridview【发布时间】:2014-01-0607:20:13【问题描述】:我是Windows... 查看详情

vb.net中Windows窗体应用程序中的折线图

...formappinvb.net【发布时间】:2010-09-1711:51:41【问题描述】:使用vs2008我正在尝试在windows窗体中使用vb创建折线图。我已将图表拖到表单上,并通过属性窗口,通过系列选项将类型更改为我想要的图表,即线条。但数据始终显示为简... 查看详情

ppap的五个阶段详解

一.总则针对如下情况,供应商必须获得顾客产品批准部门的完全批准。1.新零件或产品(以前从未提供给顾客的特殊零件、材料或颜色)。2.对以前提交零件的不符合之处进行了纠正。3.由于设计记录、技术规范或材料方面的工... 查看详情

使用 RegEx 匹配 Excel/VBA 中的五个字符,第一个字符取决于单元格值

】使用RegEx匹配Excel/VBA中的五个字符,第一个字符取决于单元格值【英文标题】:MatchingfivecharactersinExcel/VBAusingRegEx,withfirstcharacterbeingdependantoncellvalue【发布时间】:2017-06-1607:59:22【问题描述】:我需要你的帮助!我想在Excel/VBA环... 查看详情

vuex的五个属性及使用方法(代码片段)

vue内部数据流程图 vue与组件之间的数据交互 一.如何使用全局State?//state的作用是存储公共数据//state是响应式的,如果修改了属性,那么在相对应,组件视图上的值也会改变//在store里定义格式newVuex.store(state:属... 查看详情

twitter bootstrap 中的五个相等的列

...的页面上有5个相等的列,但我似乎无法理解这里是如何使用5列网格的:http://web.archive.org/web/20120416024539/http://domain7.com/mobile/tools/bootstr 查看详情

Ext.Net:RowExpander:无法在 Codebehind (VB.NET) 中显示嵌套的 GridPanel

...56:39【问题描述】:我正在开发一个ASP.NET网站,并且正在使用带有RowExpander部分的GridPanel。:< 查看详情

linux的五个查找命令

... 2009年10月8日最近,我在学习Linux,下面是一些笔记。使用电脑的时候,经常需要查找文件。在Linux中,有很多方法可以做到这 查看详情

vuex的五个核心概念(代码片段)

...ation:提交更新数据的方法,必须是同步的(如果需要异步使用action)。action:Action提交的是mutation,而不是直接变更状态。Action可以包含任意异步操作。modules:模块化vuex,可以让每一个模块拥有自己的stat 查看详情

vb.net窗体阴影

我现在使用的是VB2005在VB6下代码这么写:PrivateConstCS_DROPSHADOW=&H20000  PrivateConstGCL_STYLE=(-26)     PrivateDeclareFunctionGetClassLongLib"user32"Alias"GetClassLongA"(_      ByValhwndAsLong,_&n... 查看详情