点击一个按钮,弹出一个对话框,要求对话框弹出的位置就在按钮的右下角,如果按钮左方空间不足放下对话框,则试在右方紧贴按钮,如果下方空间不足放下对话,则试紧贴按钮上方。当然,不一定是按钮,其它控件也可以,写了一个StickForm类来实现这个功能。
调用方法:
Form selectForm = new Form();
selectForm.Size = new Size(300,320);
selectForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
......
StickForm.Stick(selectForm, button2);
if (selectForm.ShowDialog(this)==DialogResult.OK)
{
MessageBox.Show(selectorControl.Value);
}
右下空间够的情况下弹出效果
右下空间不足时的弹出效果