从单击图库项目[DevExpress]启动WinForm

时间:2011-04-01 22:18:03

标签: c# winforms image devexpress gallery

当用户点击它将调用相关WinForm的图库项目图像时,它会尝试这样做。

ie:单击ribbonGalleryBarItem1中的图像调用关联的winform。

汽车图片将启动汽车表格。关于如何做到这一点的任何想法,或类似的东西将不胜感激。

2 个答案:

答案 0 :(得分:1)

处理ribbonGalleryBarItem1对象的GalleryItemClick事件。 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("...");
    }
}

答案 1 :(得分:0)

您需要创建一个处理所有图片点击的处理程序。 然后,您需要定义一种方法来区分每个调用。 例如,通过名称或标签。

这实际上取决于你如何实现画廊及其中的图像。 更多信息有助于更好地了解如何解决您的问题。

我只能猜测您正在使用PictureBoxes来显示图像。如果是这种情况,那么您需要为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属性。但同样,这取决于你如何构建你的画廊。

希望这有帮助。