В C# .NET я пытаюсь добавить элементы управления из статического класса в нестатический класс.C# Добавление элементов управления к нестатической форме из статического класса
Это мой код:
public static void AddMediaToPanel(string Title, string Description, string Source, string Cover, string Genre, int Rating)
{
PictureBox MediaCanvas = new PictureBox();
MediaCanvas.BackColor = Color.LightGray;
MediaCanvas.BorderStyle = BorderStyle.FixedSingle;
MediaCanvas.Size = new Size(150, 235);
MediaCanvas.Padding = new Padding(10);
try
{
MediaCanvas.ImageLocation = Source;
}
catch { }
var gui = new GUI();
gui.Controls.Add(MediaCanvas);
}
GUI
метод обозначает форму Windows под названием 'GUI'. Я пытаюсь создать медиацентр с открытым исходным кодом, который позволяет добавлять фильмы в репозиторий.
Статическая ничтожной AddMediaToPanel
должен быть статическим, из-за этого класса:
public static void RetrieveMedia(string XMLFile)
{
// Declare the Media Collections
MediaCollection media = null;
// Declare the XML-readers
XmlSerializer serializer = new XmlSerializer(typeof(MediaCollection));
StreamReader sr = new StreamReader(XMLFile);
try
{
media = (MediaCollection)serializer.Deserialize(sr);
}
catch(Exception ex)
{
MessageBox.Show("The following media repository could not be loaded:\n" +
XMLFile + "\n" +
"Please check your code and try again later.\n\n" +
"Error Information: " + ex.Message, "Repository error",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
// Create new instance of the media class
sr.Close();
// Return properties
try
{
foreach (Video video in media.Video)
{
GUI.AddMediaToPanel(video.Title, video.Description, video.Source, video.Cover, video.Genre, video.Rating);
}
}
catch { }
}
Я использую .NET Framework 4.5.2. Спасибо заранее!
~ Kees van V.
И ваша проблема? – PaulF
Ну, вторая часть вашего кода не является классом, как указано, это метод. Теперь почему этот метод статичен? Мы не знаем. И это, вероятно, то, что вы можете сделать по-другому. И вы, вероятно, должны начать здесь. –
Спасибо за ваш ответ, я удалил статическую часть, и теперь я могу, наконец, добавить элементы управления в свой графический интерфейс. –