Skip to content

UITypeEditor Form Does Not Behave as a Modal Dialog When Opened from Server Project Using ShowDialog #51

@SreemonPremkumarMuthukrishnan

Description

We are currently using a client-server architecture to support UITypeEditor functionality, where the editor's UI is displayed from the Server project. Specifically, we invoke Form.ShowDialog() within the RequestHandler.HandleRequest method to show the UITypeEditor form.

 internal class CustomEditorFormHandler : RequestHandler<CustomEditorFormEndpoint.Request, CustomEditorFormEndpoint.Response>
 {
     public override CustomEditorFormEndpoint.Response HandleRequest(CustomEditorFormEndpoint.Request request)
     {
         CustomControl customControl = (CustomControl)request.CustomControl;
         new CustomEditorForm().ShowDialog();
         return new CustomEditorFormEndpoint.Response();
     }
 }

However, the form does not behave as a true modal dialog. It allows interaction with the underlying Visual Studio window, and users can switch back to Visual Studio even while the form is open—unlike a standard modal experience and the Form moves behind the VS.

The form used in the UITypeEditor relies on custom controls and types from our Control Library, which is only referenced in the Server project. Since the Client project targets .NET Framework—we are unable to move the form or related logic into the Client.

This is currently a blocker in our implementation.

Questions:

  1. Are there any alternative solutions or approaches to make the form behave like a modal dialog?
  2. In a client-server design-time model, where is the UITypeEditor UI or form expected to be hosted—on the Client or Server side?

We would appreciate any guidance or recommendations, including any solutions or sample implementations that address this issue.

Demo sample:

CustomControlLibrary_WithSample.zip

Issue replication video:

VS_Interactable_Unresponsive.mp4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions