Я совершенно новичок в программировании графического интерфейса, и мне нужна небольшая помощь со списком картинок.
Идея в том, что у меня есть список коробок с картинками. Когда пользователь нажимает на одну, я хочу (например) изменить свойство BorderStyle того, которое выбрано как Fixed3D, но изменить оставшиеся границы коллекции на FixedSingle (или что-то подобное). Как правильно сделать что-то подобное? Я предполагаю, что общая картина заключается в том, как мне заставить метод одного класса вызывать метод другого, не имея никакой информации об этом?
class myPicture
{
private int _pictureNumber;
private PictureBox _box;
public myPicture(int order)
{
_box = new List<PictureBox>();
_box.Click += new System.EventHandler(box_click);
_pictureNumber = order;
}
public void setBorderStyle(BorderStyle bs)
{
_box.BorderStyle = bs;
}
public void box_click(object sender, EventArgs e)
{
//here I'd like to call the set_borders from myPicturesContainer, but I don't know or have any knowledge of the instantiation
}
}
class myPicturesContainer
{
private List<myPicture> _myPictures;
//constructor and other code omitted, not really needed...
public void set_borders(int i)
{
foreach(myPicture mp in _MyPictures)
mp.setBorderStyle(BorderStyle.FixedSingle);
if(i>0 && _MyPictures.Count>=i)
_MyPictures[i].setBorderStyle(BorderStyle.Fixed3d);
}
}