This not bug, the main problem in that we're trying to make FlyGrid to be compatible with all .Net runtimes and ContextMenuStrip is the new class, that have no general with ContextMenu base classes or implemented interfaces to combine ContextMenuStrip and ContextMenu in one property. FlyGrid.Net is supports ContextMenuStrip as System.Windows.Forms.Control inheritor, Column as inheritor of Component can't natively combine these properties.
Bit I think, that this problem will solved in the nearest FlyGrid.Net versions.
Now you can use following code to show contextMenuStrip that depends from various FlyGrid.Net contexts (this example shows how to determine where is the mouse cursor to show different context menu):
[C#]
private void InitGrid(FlyGrid flyGrid)
{
//initilalization code
//....
//connect to FlyGrid.Mouseup event handler
flyGrid.MouseUp += new System.Windows.Forms.MouseEventHandler(flyGrid_MouseUp);
}
//MouseUp event handler
private void flyGrid_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
Point hit = new Point(e.X, e.Y);
HitTestInfo hi = flyGrid1.GetHitTestInfoAt(hit);
hit = flyGrid1.PointToScreen(hit);//convert point to screen coords
if (hi.HitTest == HitTest.OnColumnHeader)
{
if (hi.Col == 0)
firstColContextMenu.Show(hit);
else
secondColContextMenu.Show(hit);
}
else if (hi.HitTest == HitTest.OnColumnHeader)
{
rowHeadersContextMenu.Show(hit);
}
}
}