2011-04-01 4 views
0

ユーザーがギャラリーアイテムイメージをクリックすると、関連付けられたWinFormが呼び出されます。ギャラリーアイテムをクリックしてWinFormを起動する[DevExpress]

ie:ribbonGalleryBarItem1から画像をクリックすると、関連するwinformが呼び出されます。

車種は車の形になります。どのようにこれを行うか、またはこのような何かについてのアイデアは大いに感謝されます。

答えて

0

すべての画像クリックを処理するハンドラを作成する必要があります。 次に、各呼び出しを区別するメソッドを定義する必要があります。 たとえば、名前またはタグのいずれか。

実際にギャラリーとその内部の画像をどのように実装したかによって、実際には異なります。 詳細は、問題の解決方法を理解するのに役立ちます。

画像を表示するためにピクチャボックスを使用しているとしか推測できません。その場合、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; 
    } 
} 

タグプロパティも使用できます。しかし再び、それはあなたのギャラリーをどのように構築するかによって異なります。

これが役に立ちます。

+0

ません。彼はDevExpressギャラリーコントロールを使用しています。 – SLaks

+0

両方のご意見ありがとうございます。私はgalleryitemclickイベントを見たこともありませんでした(今はかなり愚かなXD)DevExpress Teamの最初のコメントのおかげでうまくいきました。あなたの両方のお手伝いをしてくれてありがとう。 XD PS。 DevExpressチームには、新しいDevExpress 2010 Vol 2.6が可能な限り叙事詩です。 – McWxXx

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("..."); 
    } 
} 
関連する問題