简单的文本输入字段接受换行符

pha*_*234 8 user-interface wolfram-mathematica

是否有一种简单的方法可以让它发挥作用?

text = "";
DialogInput[{TextCell["Try to type a text with linebreaks :-)"],
  InputField[Dynamic[text], String], 
  Button["Ok", DialogReturn[text]]}]
Run Code Online (Sandbox Code Playgroud)

问题是InputField在输入后终止Return.我只想要一个简单的文本输入字段.

Chr*_*nen 11

感谢单挑的列昂尼德.这是代码:

text = "";
DialogInput[{TextCell["Try to type a text with linebreaks :-)"], 
  InputField[Dynamic[text], String, FieldSize -> {30, 6}], 
  DefaultButton[DialogReturn[text]]}, 
 NotebookEventActions -> {"ReturnKeyDown" :> 
    FrontEndExecute[NotebookWrite[InputNotebook[], "\n"]]}]
Run Code Online (Sandbox Code Playgroud)

FrontEndExecute语句在此版本中稍微简单一些.

顺便提一下,要清除NotebookEventActions的默认Return键操作,您可以使用NotebookEventActions->{}.这对于在输入期间停止对话框消失非常有用.

  • 大!我删了帖子.我希望那些投票支持它的人会花一些额外的票来回答你的答案,因为这是投票所属的地方. (2认同)