Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 创建弹出模式(包含自定义用户控件)_C#_Winforms - Fatal编程技术网

C# 创建弹出模式(包含自定义用户控件)

C# 创建弹出模式(包含自定义用户控件),c#,winforms,C#,Winforms,我正在更新一些现有代码,制作一个包含自定义用户控件的弹出模式,并想知道这是否可行 我知道如果我将自定义UserControl放在另一个表单中,这可以很容易地实现,但这似乎有点过分了 (CommentBox是自定义控件) 如果它必须是模态的,那么你必须使用一个表单 如果您只是需要它在表单上弹出,请查看ToolStripDropDown和ToolStripControlHost以提供该功能。这里有一个例子:为此干杯,我猜ToolStripDown和ToolStripControlHost也不能成为模

我正在更新一些现有代码,制作一个包含自定义用户控件的弹出模式,并想知道这是否可行

我知道如果我将自定义UserControl放在另一个表单中,这可以很容易地实现,但这似乎有点过分了

(CommentBox是自定义控件)


如果它必须是模态的,那么你必须使用一个表单


如果您只是需要它在表单上弹出,请查看
ToolStripDropDown
ToolStripControlHost
以提供该功能。这里有一个例子:

为此干杯,我猜ToolStripDown和ToolStripControlHost也不能成为模态?@Standage否,因为它们有一个表单。如果您需要它,您总是可以在代码中创建一个表单,并使用Dock.Fill类型样式等将控件添加到表单中。
CommentBox comment = CommentManager.GetComments(commentType, foreignID);

.//Some code to determine location of the popup
.
.
Popup popup = new Popup(comment);
popup.Show(grid.PointToScreen(viewerLocation));