Запуск WinForm из кликающего элемента галереи [DevExpress] - PullRequest
0 голосов
/ 02 апреля 2011

Он пытается сделать так, чтобы, когда пользователь щелкает изображение элемента галереи, он вызывал ассоциированную WinForm.

т.е.изображение запустит форму автомобиля.Будем очень благодарны за любые идеи о том, как это сделать, или что-то в этом роде.

Ответы [ 2 ]

1 голос
/ 03 апреля 2011

Обрабатывать событие GalleryItemClick объекта ribbonGalleryBarItem1.Параметр e.Item возвращает выбранный элемент.Используя его свойства, вы сможете определить, какой именно элемент был нажат, и вызвать код для отображения необходимой формы.

Например:

private void ribbonGalleryBarItem3_GalleryItemClick(object sender, DevExpress.XtraBars.Ribbon.GalleryItemClickEventArgs e) {
    switch(e.Item.Caption.ToLower()) { 
        case "car":
            ShowCarForm();
            break;
        case "plane":
            ShowPlaneForm();
            break;
        ...
        default:
            throw new NotSupportedException("...");
    }
}
0 голосов
/ 02 апреля 2011

Вам необходимо создать обработчик, который будет обрабатывать все клики изображений.Затем вам нужно определить метод для различения каждого вызова.Например, либо по имени, либо по тегу.

Это действительно зависит от того, как вы реализовали галереи и изображения внутри них.Дополнительная информация поможет лучше понять, как решить вашу проблему.

Я могу только догадываться, что вы используете PictureBox для отображения своих изображений.Если это так, то вам нужно определить обработчик для события Click и реализовать что-то вроде этого:

private void PictureClicked(object sender, EventArgs e) {
    Control picture = sender as Control;
    if (picture == null) //just in case...
        return;
    switch (picture.Name) {
        case "pictureBoxCar":
            //open Car form
            break;
        case "pictureBoxBoat":
            //open Boat form
            break;
    }
}

Вы также можете использовать свойство TagНо опять же, это зависит от того, как вы строите свои галереи.

Надеюсь, это поможет.

...