ShowDialog () не делает окно модальным

Если вы хотите напечатать что-то вроде этого с новой строкой (\ n) после него:

<p id = "theyateme">Did it get eaten?</p>

Чтобы напечатать выше, вы должны сделать это:

<?php
  print('<p id = "theyateme">Did it get eaten?</p>' . "\n");
?>

клиентский код сверху будет:

<p id = "theyateme">Did it get eaten?</p>

Вывод сверху будет:

Его съели?

Я знаю, это сложно, но я всегда делают это таким образом, и вы почти всегда должны делать это таким образом.

Иногда вы хотите, чтобы PHP печатал \ n на странице вместо перевода новой строки, как в коде JavaScript (сгенерированном PHP).

ПРИМЕЧАНИЕ об ответе: Вы можете подумать: почему вы использовали печать вместо эха (мне нравится мое эхо). Это потому, что я предпочитаю print, а не echo и printf, потому что в некоторых случаях это работает лучше (обычно в моих случаях), но в этом случае это можно сделать с помощью echo.

6
задан DaBomb 29 May 2009 в 15:24
поделиться

4 ответа

Вы вызываете ShowDialog из класса Form? Потому что он установит родительское окно только при вызове из другой формы. В качестве альтернативы вы можете использовать перегрузку, которая имеет параметр IWin32Window , чтобы специально установить владельца.

2
ответ дан 17 December 2019 в 20:34
поделиться

не могли бы вы объяснить проблему дальше, поскольку это мой код, который не отображает саму форму до тех пор, пока диалоговое окно не будет закрыто, либо вы установите родительский элемент, либо нет

  private void Form1_Load(object sender, EventArgs e)
        {
            //your functionality goes here    
            AboutBox1 box = new AboutBox1();
            box.ShowDialog();
        }
    }

с другой стороны, вы также можете проверить его с помощью свойства TopMost

0
ответ дан 17 December 2019 в 20:34
поделиться

Метод ShowDialog необходимо вызывать из формы, которая должна быть родительской / владельцем, чтобы она была модальной для этой формы. В качестве альтернативы я считаю, что вы можете установить владельца диалогового окна напрямую, но мне никогда не приходилось этого делать.

0
ответ дан 17 December 2019 в 20:34
поделиться

DaBomb,

Чтобы сделать то, что вы хотите, вам нужно будет вызвать модальный диалог из конструктора вашей основной формы, а НЕ из события Form_Load.

Примерно так:

    public Form1()
    {
        InitializeComponent();
        this.Show();
        Form2 popupForm = new Form2();
        popupForm.ShowDialog();
    }
0
ответ дан 17 December 2019 в 20:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: