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

时间:2011-08-04 18:14:10

标签: user-interface wolfram-mathematica

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

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

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

1 个答案:

答案 0 :(得分: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"]]}]

此版本中的FrontEndExecute语句稍微简单一些。

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