最近在做一个主预览界面,主要是不同规格子视频流展示。如图:
例如:画面的规格是不一样的,分别是1,4,9规格的。
而右侧四个不同颜色的格子是一个自定义的控件,把4个picturebox组成一个自定义控件。并且在主界面调用这个自定义控件。同时规格1和规格9也为创建不同的自定义控件。
我想做的是在主预览界面为不同规格的picturebox增加视频流(图中的监控点)
也就是当我点击某个规格视图的picturebox可以随时为我切换视频流。
视频格式是主视频-》子视频 而子视频要向主视频传送数据要用委托方法。
若主视频-》子视频传送数据,可以在创建子视频时直接传送数据。
这就涉及到主子界面信息的交互,查了很久,困了我很久,决定用委托方法。
当点击某个规格的格子,给主界面传递消息,参数1 某个规格(1,4,9)参数2(位置),随时为格子替换视频流,可以随意更换想要的视频流。
而委托怎么去实现呢?
有两个概念,一个委托方,一个是实现方,委托方声明委托,也就是去声明函数,而具体实现要靠实现方去实现。定义的过程一定是实现方在前,委托方在后,实现方提前关联好相关函数,委托方直接调用即可。
举个例子:病人去看病。
治病这个事件就是个委托事件,实现方当然是医生们,而医生甲会看牙,医生乙会看眼睛。委托方当然是我们的病人,因此这个例子就是病人们委托医生去治病。这时,病人走进医院,如果说他说他牙疼,医生甲直接帮他看病,如果他说他眼睛疼,医生乙会帮他看,这是提前定义好医生甲和医生乙的功能,而他们的作用也就实现关联好这两类病人了。而如果病人说他头痛,这时就没有医生帮他看了,因为没有这类医生和这类病人关联,即便病人发出委托,但没有具体医生去实现,这个委托事件也是不成立的。啦啦啦啦啦,就是酱紫啦!(* ̄︶ ̄)
c#主窗体从子窗体获取值(委托实例应用)
最新推荐文章于 2023-09-13 12:14:48 发布
这篇博客讲述了如何在C#中利用委托实现主窗体与子窗体之间的数据交互,特别是在一个主预览界面中动态更换不同规格视频流的场景。通过定义委托、实例化和在父窗体中实现相关方法,实现了子窗体向主窗体传递信息,例如视频规格和位置,以便主窗体根据这些信息更新视频流。

最低0.47元/天 解锁文章
1755

被折叠的 条评论
为什么被折叠?



