Резюме:
См. Полезные комментарии ниже от Крейга и Сертака.
================================================= =======
Как показано в следующем минимизированном коде, TForm10
устанавливается равным fsStayOnTop
. TForm10.btnTryDlgClick
вызывает dlgOpen1.Execute
, и отображается диалоговое окно, как и ожидалось. Однако, когда я вызываю TForm11.Create (Self) .ShowModal
внутри TForm10.btnTryFormClick
, форма скрывается за TForm10. Мне интересно, как понять это поведение и почему стандартный TOpenDialog может отображаться так, как ожидалось? Приветствуются любые комментарии!
PS: Одним из способов решения проблемы является переопределение процедуры CreateParams TForm11 и установка Params.wndParent на 0. Но мне кажется, что с помощью этого обходного пути иерархия окон будет нарушена.
procedure TForm11.CreateParams(var Params: TCreateParams); // override;
begin
inherited;
params.wndParent := 0;
end;
PS: Другой обходной путь упоминается Реми на соответствующих страницах SO ниже: установка свойства PopupParent модальной формы в значение StayOnTop Form
. Но в последующих комментариях Сертак упомянул, что этот обходной путь также нарушит иерархию окон.
PS: Возможно релевантные страницы SO: } И я ...
У меня есть этот объект javascript
var options:
{
windowTitle : '....',
windowContentUrl : '....',
windowHeight : 380,
windowWidth : 480
}
И у меня есть этот класс C #
public class JsonDialogViewModel
{
public string WindowTitle { get; set; }
public string WindowContentUrl { get; set; }
public double WindowHeight { get; set; }
public double WindowWidth { get; set; }
}
И вы видите, моя нотация - PascalCase в C #, а мой Javascript - CamelCase. Как разработчики iOS называют визуальные точки внизу страницы, которые указывают количество открытых окон в приложении?