1.vs如何运行Winform(C ?
2.Revit界面C#开发(Winform)——VS2019(.net)环境配置
vs如何运行Winform(C ?
运行Winform中的代码示例
这是一个简单的按钮点击事件处理代码,用于执行cmd命令并关闭计算机。特效代码如下:
private void button1_Click(object sender,源码 EventArgs e) { startcmd("cmd。exe",炫酷 "shutdown -r -t "); }
其中,startcmd函数用于创建并启动一个新进程执行命令。界面
public static void startcmd(string command,特效mycat 源码下载 string argument) { Process cmd = new Process(); cmd。StartInfo。源码FileName = command; cmd。炫酷StartInfo。界面Arguments = argument; cmd。特效StartInfo。源码UseShellExecute = false; cmd。炫酷StartInfo。界面方配wms源码RedirectStandardInput = true; cmd。特效StartInfo。源码RedirectStandardOutput = true; cmd。StartInfo。CreateNoWindow = true; cmd。StartInfo。WindowStyle = ProcessWindowStyle。Hidden; cmd。Start(); }
但是,有时候用户会遇到按钮点击后没有反应的问题。这可能是由于代码中存在一些小错误或未考虑到的条件。
为了解决这个问题,久些轰炸源码可以稍作修改:
private void button1_Click(object sender, EventArgs e) { startcmd("cmd。exe", "echo >d:\\1。txt"); }
在这个修改版本中,我们执行了一个简单的echo命令,并将结果输出到d:\\1.txt文件中。这可以帮助我们验证命令是否成功执行。
另外,需要注意的是,在调用startcmd函数时,我们还需要将命令和参数传入,并确保关闭进程。
public static void startcmd(string command,分销开源系统源码 string argument) { Process cmd = new Process(); cmd。StartInfo。FileName = command; cmd。StartInfo。UseShellExecute = false; cmd。StartInfo。RedirectStandardInput = true; cmd。StartInfo。RedirectStandardOutput = true; cmd。StartInfo。CreateNoWindow = true; cmd。StartInfo。WindowStyle = ProcessWindowStyle。html拼车源码Hidden; cmd。Start(); cmd。StandardInput。WriteLine(argument); cmd。StandardInput。WriteLine("exit"); string ss = cmd。StandardOutput。ReadToEnd(); cmd。WaitForExit(); cmd。Close(); }
通过上述修改,我们可以在按钮点击时观察到cmd命令的执行结果,并确保进程正确关闭,从而解决按钮无反应的问题。希望这个解答对您有所帮助。
Revit界面C#开发(Winform)——VS(.net)环境配置
在使用Visual Studio 环境进行基于C#语言开发的Revit插件时,我们主要依赖.NET框架。本教程将详细解释如何配置开发环境、开发过程,以及在Revit界面中实现自定义功能。以下是详细步骤。
首先,确保您已安装Visual Studio ,选择“新建项目”选项,并在“模板”中选择“Visual Basic”类别下的“应用程序”。选择“控制台应用程序(C#)”作为新项目的类型。接下来,从“文件”菜单中选择“添加引用”,在引用中添加以下程序集:
1. 从框架引用中添加“System.Windows.Forms”和“WindowsBase”。
2. 导入Revit API库,路径通常位于"C:\Program Files\Autodesk\Revit "目录下,其中包含了以下几个主要库文件:“RevitAPIUI.dll”、“AdWindows.dll”、“UIFrameworkServices.dll”和“RevitAPI.dll”。
3. 然后,确保将插件“AddInManager.dll”复制到路径"C:\Users\[您的用户名]\AppData\Roaming\Autodesk\Revit\Addins\"中,以确保您的插件能够在Revit环境中正常使用。
接下来,我们创建自己的接口实现来在Revit的菜单栏中开发功能。选择合适的命名空间,创建接口实现类“Class1”,实现`IExternalApplication`接口。在`OnStartup`方法中,定义并创建用于标签、面板、按钮等组件的变量,如`var tabName = "地铁设计院"`;然后,创建标签(`CreateRibbonTab`)、按钮(`AddItem`)和其他相应的GUI组件。
示例代码如下:
csharp
public class Class1 : IExternalApplication
{
public Result OnShutdown(UIControlledApplication application)
{
return Result.Succeeded;
}
public Result OnStartup(UIControlledApplication application)
{
var tabName = "地铁设计院";
application.CreateRibbonTab(tabName);
RibbonPanel logIn = application.CreateRibbonPanel(tabName, "登录");
RibbonPanel projectControl = application.CreateRibbonPanel(tabName, "项目管理");
string thisAssemblyPath = Assembly.GetExecutingAssembly().Location;
var logInButtonData = new PushButtonData("Login", "登录", thisAssemblyPath, typeof(CmdLogin).FullName);
var projectButtonData = new PushButtonData("ProjectControl", "项目管理", thisAssemblyPath, typeof(CmdProjectControl).FullName);
PushButton loginButton = logIn.AddItem(logInButtonData) as PushButton;
Common.prControlButton = projectControl.AddItem(projectButtonData) as PushButton;
if (Common.userStatus == 0)
{
Common.prControlButton.Enabled = false;
}
else if (Common.userStatus == 1)
{
Common.prControlButton.Enabled = true;
}
string loginImgPath = Path.GetDirectoryName(thisAssemblyPath) + @"\login.PNG";
Uri loginUri = new Uri(loginImgPath, UriKind.RelativeOrAbsolute);
BitmapImage bitmapImageLogin = new BitmapImage(loginUri);
loginButton.LargeImage = bitmapImageLogin;
string prcImgPath = Path.GetDirectoryName(thisAssemblyPath) + @"\prc.PNG";
Uri prcUri = new Uri(prcImgPath, UriKind.RelativeOrAbsolute);
BitmapImage bitmapImagePrc = new BitmapImage(prcUri);
Common.prControlButton.LargeImage = bitmapImagePrc;
return Result.Succeeded;
}
}
最后,确保调整开发路径,并将项目的ADDIN文件复制至Revit的指定目录中。注意,调整目录路径时,通常与原教程中的路径(如"C:\Users\[您的用户名]\AppData\Roaming\Autodesk\Revit\Addins\")相匹配。此外,确保删除任何`Type="Command"`的部分,并添加DLL文件路径到特定目录(例如`E:\project\project-revit\LoginAndProject\bin\Debug\LoginAndProject.dll`)中,以确保您的Revit插件正常工作。通过这种方式,您可以有效地在Revit中开发自定义功能,提升您的设计流程和效率。