2010-04-07 142 views
0

我在C#中制作Windows Form应用程序,并且最好控制我需要的是ActiveX控件(日历)。问题是我需要拖放,但我使用的控件没有事件(只有积极的一面是它具有属性“AllowDrop”)。 (控制是Xtreme日历 - Codejock)在C中的ActiveX控件拖放#

+0

如果ActiveX控件本身没有实现Drag + Drop支持,那么显示结束,您无法将其拧紧。 – 2010-04-07 13:16:48

回答

0

我做了某事设法做到了。使用ListBox及其事件MouseDown(用IndexFromPoint方法获取数据)和MouseUp(用于调用Calendar的DoubleClick事件)。

private string name = string.Empty; 

    private void lstNames_MouseDown(object sender, MouseEventArgs e) 
    { 
     if (lstNames.Items.Count == 0) 
      name = string.Empty; 
     else 
     { 
      int index = lstNames.IndexFromPoint(e.X, e.Y); 
      name = lstNames.Items[index].ToString(); 
     } 
    } 

    private void lstNames_MouseUp(object sender, MouseEventArgs e) 
    { 
     if (name != string.Empty) 
      CalendarControl_DblClick(name, null); 
    }