0

您好社区我希望在以下事项上得到您的指导。我有这种情况,我需要在 webbrowser 控件之上有一个具有透明背景的用户控件。我已经尝试了以下代码。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Sample{
    public partial class MainWindow : Form {

        public MainWindow() {
            InitializeComponent();
        }

        public void SetControlZOrder(Control ctrl, int z) {
            ctrl.Parent.Controls.SetChildIndex(ctrl, z);

        }
        bool toggle = false;

        private void button1_Click(object sender, EventArgs e) {


            if (toggle) {

                SetControlZOrder(someUserControl, 1);
                SetControlZOrder(webBrowser1,2);

                toggle = false;
            } else {

                SetControlZOrder(someUserControl,2);
                SetControlZOrder(webBrowser1, 1);
                toggle = true;
            }
        }

        private void MainWindow_Load(object sender, EventArgs e) {
            //Do some stuff
        }

    }


}

在此示例中,当我访问 button1_Click 时,我希望“someUserControl”位于 webbrowser 控件的顶部。但是,似乎“someUserControl”一直显示表单的背景颜色,而不是 webcontrol,即使 webcontrol 就在它的正下方。如何在 winforms 的 web 控件之上拥有一个透明的用户控件?

谢谢,

4

0 回答 0