不可错过的MSDN TV —— IronPython: Python on the .NET Framework (上)
添加IronPython的引用,在按钮事件中调用py脚本。
private PythonEngine engine;
private void button1_Click(object sender, EventArgs e)
{
if (engine == null)
{
engine = new PythonEngine();
engine.Globals["win"] = this;
System.IO.FileStream fs = new System.IO.FileStream("scripting-log.txt",
System.IO.FileMode.Create);
engine.SetStandardOutput(fs);
}
try
{
engine.ExecuteFile("test.py");
}
catch (Exception exp)
{
MessageBox.Show(exp.ToString());
}
}
在test.py中可以用脚本修改主窗口属性,添加控件,添加鼠标事件等。private void button1_Click(object sender, EventArgs e)
{
if (engine == null)
{
engine = new PythonEngine();
engine.Globals["win"] = this;
System.IO.FileStream fs = new System.IO.FileStream("scripting-log.txt",
System.IO.FileMode.Create);
engine.SetStandardOutput(fs);
}
try
{
engine.ExecuteFile("test.py");
}
catch (Exception exp)
{
MessageBox.Show(exp.ToString());
}
}
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
源代码下载