首页 > 解决方案 > 如何访问另一个用户控件实例中的用户控件实例?

问题描述

我有两个用户控件:播放器和播放列表。

Player.cs

namespace Music_Player
{
    public partial class Player : UserControl
    {
        public int currentSongIndex = 0;
        public WindowsMediaPlayer player = new WindowsMediaPlayer();
        
        public Player()
        {
            InitializeComponent();
            player.settings.autoStart = false;
        }

        private void playButton_Click(object sender, EventArgs e)
        {
            if (playButton.Text == "Play")
            {
                Play();
            }
            else
            {
                Pause();
            }
        }

        public void Play()
        {
            if (CheckSongs()) { return; }
            playButton.Text = "Pause";
            player.controls.play();
        }
...

Playlist.cs

namespace Music_Player
{
    public partial class Playlist : UserControl
    {
        public Playlist()
        {
            InitializeComponent();
        }

        private void playlistTitle_Click(object sender, EventArgs e)
        {
            player.Play(); // THIS IS WHERE I WANT TO USE THE player INSTANCE OF Player()
        }
...

UserControls 都是我的表单中的另一个 UC 的子级。

如何player在播放列表中使用哪个是 Player() 的实例?

标签: c#.netwinforms

解决方案


您可能希望以控件所在的形式而不是控件本身来处理事件。该表单将引用这两个控件以及它们所控制的任何内容。那就是事情应该联系起来的地方。


推荐阅读