小编Pud*_*duk的帖子

检查字符串是否是有效的Windows目录(文件夹)路径

我试图确定用户输入的字符串是否有效表示文件夹的路径.有效,我的意思是格式正确.

在我的应用程序中,该文件夹代表安装目标.提供的文件夹路径有效的,我想,以确定是否该文件夹存在,并创建它,如果它没有.

我目前正在使用IO.Directory.Exists( String path ).我发现这很好用,除非用户没有正确格式化字符串.发生这种情况时,此方法将返回false,表示该文件夹不存在.但这是一个问题,因为我之后将无法创建该文件夹.

从我的谷歌搜索我发现一个建议使用正则表达式来检查格式是否正确.我没有正则表达式的经验,我想知道这是否是一种可行的方法.这是我发现的:

Regex r = new Regex( @"^(([a-zA-Z]\:)|(\\))(\\{1}|((\\{1})[^\\]([^/:*?<>""|]*))+)$" );
return r.IsMatch( path );
Run Code Online (Sandbox Code Playgroud)

将正则表达式测试结合起来Directory.Exists(),给我一个足够好的方法来检查路径是否有效以及它是否存在?我知道这会因操作系统和其他因素而异,但该程序仅针对Windows用户.

c# windows filesystems directory validation

76
推荐指数
7
解决办法
11万
查看次数

在C#中手动复制文件时显示复制文件对话框/表单?

我通过C#手动复制一些文件夹和文件,我想向用户显示实际发生的事情.目前,该程序看起来好像已冻结,但它实际上是在复制文件.

我认为已经有一个内置的对话框或表单显示了该过程,类似于在Windows资源管理器中复制/移动文件.有没有可用的东西,还是我必须从头开始创建一切?

此外,这是向用户显示某些内容正在积极进行的最佳方法吗?

谢谢您的帮助!

c# user-interface dialog file

10
推荐指数
1
解决办法
8818
查看次数

Grails 和 Spring Security 插件:根据角色在登录时重定向用户

我想根据用户的角色在成功登录后重定向用户。我正在遵循这个示例,但该方法永远不会执行(打印不会发生)。

我的资源.groovy:

beans = {
authenticationSuccessHandler(UrlRedirectEventListener)
{
    def conf = SpringSecurityUtils.securityConfig      
    requestCache = ref('requestCache')
    defaultTargetUrl = conf.successHandler.defaultTargetUrl
    alwaysUseDefaultTargetUrl = conf.successHandler.alwaysUseDefault
    targetUrlParameter = conf.successHandler.targetUrlParameter
    useReferer = conf.successHandler.useReferer
    redirectStrategy = ref('redirectStrategy')
    defaultUrl= "/"
    adminUrl = "/admin/"
    userUrl = "/user/"
}
}
Run Code Online (Sandbox Code Playgroud)

和我的 UrlRedirectEventListener

class UrlRedirectEventListener 
extends SavedRequestAwareAuthenticationSuccessHandler 
{

@Override
protected String determineTargetUrl(HttpServletRequest request,
                                        HttpServletResponse response) {

    boolean hasBoth = SpringSecurityUtils.ifAllGranted("ROLE_USER,ROLE_ADMIN");
    boolean hasUser = SpringSecurityUtils.ifAnyGranted("ROLE_USER");
    boolean hasAdmin = SpringSecurityUtils.ifAnyGranted("ROLE_ADMIN");

    println("hasBoth:"+hasBoth+ " hasUser:"+hasUser+ " hasAdmin:"+hasAdmin)
    if( hasBoth ){
        return defaultLoginUrl;
    }else if …
Run Code Online (Sandbox Code Playgroud)

grails groovy spring-security

5
推荐指数
1
解决办法
1743
查看次数

将AutoCAD / Solidworks工程图/对象导入Winforms?

有人做过类似的事情吗?

我需要导入在AutoCAD或Solidworks中完成的3d对象,并将它们绘制到Windows窗体中。我只需要在3D中查看对象并四处移动-无需任何操作。

我假设我至少需要2个库,一个用于非常简单的3D引擎的库,以及一个从CAD / SW文件中实际获得所需资源的库。Autodesk提供了一个SDK,可用于使用.NET开发AutoCAD插件,但是我不确定是否可以使用其他方式将文件加载到.NET应用程序中。

任何帮助,链接和想法表示赞赏。

.net c# autocad solidworks winforms

4
推荐指数
1
解决办法
4859
查看次数