Расположение / размер элемента управления AxWindowsMediaPlayer

У меня есть элемент управления AxWindowsMediaPlayer в моей WinForm.

Пока все работает. Но я не могу изменить размер или переместить элемент управления.

Я инициализирую элемент управления так:

mediaPlayer = new AxWMPLib.AxWindowsMediaPlayer();

mediaPlayer.CreateControl();
mediaPlayer.enableContextMenu = false;
((System.ComponentModel.ISupportInitialize)(mediaPlayer)).BeginInit();
mediaPlayer.Name = "wmPlayer";
mediaPlayer.Enabled = true;
mediaPlayer.Dock = System.Windows.Forms.DockStyle.Fill;
mediaPlayer.Size = this.Size;
this.Controls.Add(mediaPlayer);
((System.ComponentModel.ISupportInitialize)(mediaPlayer)).EndInit();
mediaPlayer.uiMode = "none";
mediaPlayer.URL = fileName;
mediaPlayer.settings.setMode("loop", true);

mediaPlayer.Ctlcontrols.play();

Но размер всегда один и тот же. Как я могу установить размер или границы этого элемента управления?

Спасибо за помощь


person johnbraum    schedule 16.12.2014    source источник
comment
Вы хотите переместить / изменить размер игрока внутри From?   -  person kennyzx    schedule 16.12.2014
comment
да. Я хочу изменить размер элемента управления внутри формы, чтобы он соответствовал размеру формы.   -  person johnbraum    schedule 16.12.2014
comment
Вы установили для его свойства Dock значение Fill. Установка размера не может иметь никакого эффекта.   -  person Hans Passant    schedule 16.12.2014


Ответы (2)


Лучше делать это в дизайнере, чем в коде.

В вашем коде вы устанавливаете размер элемента управления плеером, равный форме.

//occupies all the form's available space
mediaPlayer.Dock = System.Windows.Forms.DockStyle.Fill; 
//again, the player is the same size as form
mediaPlayer.Size = this.Size; 

Чтобы установить границу элемента управления проигрывателя в форме, вы можете установить его AnchorStyle-, привязав элемент управления к краям формы, и установить свойства Location и Size элемента управления.

mediaPlayer.Location = new Point(50, 50);
mediaPlayer.Size = new Size(this.ClientSize.Width - 100, this.ClientSize.Height - 100);
mediaPlayer.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Bottom;
person kennyzx    schedule 16.12.2014
comment
Хорошо. Теперь я добавил mediaPlayer через конструктор. Установите для него visible = false и показывать, когда он мне нужен. А с якорями все работает нормально ... Но почему я не могу создать экземпляр в коде и установить его границы? Странно .. Спасибо за помощь! - person johnbraum; 16.12.2014

Для всех, кто хочет увеличить AxWindowsMediaPlayer

        axWindowsMediaPlayer1.stretchToFit = true;
        axWindowsMediaPlayer1.Width *= 2;
        axWindowsMediaPlayer1.Height *= 2;
person Vulpi    schedule 01.04.2021