Winform 播放Flash及背景色的处理

       最近在做Winform程序播放flash,于是把思路记下来,方便以后查看。

       1,首先要添加Flash控件的引用。在Com组建中添加ShockWave Flash的引用。添加完后在工具栏中添加项,在Comm组建中选择刚添加的。然后拖放到窗体上。可以给他制定Move属性来播放内容。

        简单一步就可以让Flash可以播放内容了。虽然简单,但是在做的过程中遇到另外的一个奇怪问题,比如我有两个按钮,单击第一个按钮播放第一个Flash,该Flash背景是黑色的,单击第二个按钮播放第二个flash,第二个Flash背景是红色的。但是实际运行效果是单击第二个按钮后背景却不是红色 的,而是黑色的。于是我第二次运行先单击第二个按钮,在单击第一个按钮,结果背景是红色的。这就说明了一个问题Flash的背景是显示的上一次的播放内容的背景色。于是查看了它与颜色相关的两个属性一个是BackgroundColor,类型是int,默认为-1 ,一个是BackColor,默认是“”,于是在单步调试,看看这两个值是如何变化的。于是单击第一个按钮,调试后发现值还是默认值,于是在单击第二个按钮,发现还是默认值。这就奇怪了,既然颜色没有改变为什么显示的颜色却改变了。想了下,既然是颜色改变,那就一定和这两个属性有关。于是不管三七二十一,单击按钮前先手动初始化,也就是BackgroundColor=-1,BackColor=“”,于是调试。单击第一个按钮颜色是黑色的,单击第二个按钮,结果颜色是Flash本身的颜色了。太惊喜了。原来就是这个原因。于是进一步测试,把其中的一个去掉,只设置一个属性,测试的结果是只需要设置BackColor=“”就可以了。这样Flash的背景色就不会受到上一个Flash内容的影响。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WinForms是微软.NET框架中的一部分,用于创建Windows应用程序的用户界面。GDI(图形设备接口)是Windows操作系统中的一个绘图API,用于绘制图形和文本。 在WinForms中,可以使用GDI来绘制字体的背景。具体的步骤如下: 1. 创建一个继承自Control类的自定义控件,或者使用现有的控件(如Label、Button等)。 2. 重写控件的OnPaint方法,该方法用于绘制控件的外观。 3. 在OnPaint方法中,使用Graphics对象的FillRectangle方法来填充控件的背景。 4. 设置字体的颜和样式,可以使用Graphics对象的DrawString方法来绘制文本。 下面是一个示例代码,演示如何在WinForms中使用GDI绘制字体的背景: ```csharp using System; using System.Drawing; using System.Windows.Forms; public class MyCustomControl : Control { protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); // 绘制背景 using (SolidBrush brush = new SolidBrush(Color.Yellow)) { e.Graphics.FillRectangle(brush, ClientRectangle); } // 绘制文本 using (Font font = new Font("Arial", 12)) { using (SolidBrush brush = new SolidBrush(Color.Black)) { e.Graphics.DrawString("Hello, World!", font, brush, ClientRectangle); } } } } public class MainForm : Form { public MainForm() { // 创建自定义控件并添加到窗体中 MyCustomControl customControl = new MyCustomControl(); Controls.Add(customControl); } } public class Program { [STAThread] public static void Main() { Application.Run(new MainForm()); } } ``` 这段代码创建了一个自定义控件MyCustomControl,重写了它的OnPaint方法,在该方法中使用GDI绘制了黄背景和黑的文本。然后在MainForm中添加了这个自定义控件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值