小编Pau*_*els的帖子

使用VS2012/13的monogame加载字体

我已经尝试了一段时间,我相信我正在做所有事情(就代码而言):

SpriteFont font = Content.Load<SpriteFont>("Arial");
Run Code Online (Sandbox Code Playgroud)

但是,我读到你需要使用我尝试过的工具编译字体,但它们都是从扩展名*.spritefont转换而来.这似乎不在我的机器上,虽然经过一些研究,我确实设法获得了几个TTF文件.

一些进一步的研究暗示,如果我从VS中选择"新文件",我应该能够选择创建一个新的spritefont.这似乎不是这种情况,因为它不在VS2012或13的列表中.

我没有理由非常使用字体,所以我可能犯了一个明显的错误.有什么想法吗?

.net fonts xna monogame visual-studio-2012

3
推荐指数
1
解决办法
9766
查看次数

为什么十进制最小值不能转换为字符串?

以下控制台应用程序崩溃:

decimal dec = decimal.MinValue;
string str = string.Format("{0:d}", dec);

Console.WriteLine(str);
Run Code Online (Sandbox Code Playgroud)

错误是:

Format specifier was invalid.
Run Code Online (Sandbox Code Playgroud)

鉴于我基本上将十进制格式化为十进制,这有什么问题?

.net c# format decimal

3
推荐指数
1
解决办法
190
查看次数

单例模式 - 默认属性

我一直在研究Singleton模式,因为它在Settings类中使用.这是我的项目AccessTest的Settings.Designer.cs中的相关代码:

internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{        
    private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

    public static Settings Default
    {
        get
        {
            return defaultInstance;
        }
    }

    public string applicationSetting1
    {
        get
        {
            return ((string)(this["applicationSetting1"]));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我不清楚的是为什么属性'applicationSetting1'是通过另一个属性'Default'访问的,为什么:

var value = AccessTest.Properties.Settings.Default.applicationSetting1;
Run Code Online (Sandbox Code Playgroud)

我正在运行VS2013 C#和4.5.

c# design-patterns visual-studio-2013

3
推荐指数
1
解决办法
813
查看次数

更改.NET通用字典中的顺序

我有一个继承自泛型字典的类,如下所示:

Class myClass : System.Collections.Generic.Dictionary<int, Object>
Run Code Online (Sandbox Code Playgroud)

我已按特定顺序添加了一个值列表,但我现在希望更改该顺序.有没有办法(不删除和重新添加)我可以有效地重新索引值; 所以更改索引1处的对象现在是索引10,例如?例如,这不起作用:

myClass[1].Index = 10;
Run Code Online (Sandbox Code Playgroud)

c# generics

2
推荐指数
3
解决办法
3513
查看次数

C# FtpWebRequest 错误 403

我有以下代码来通过 FTP 检索文件:

\n\n
        try\n        {\n            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverPath);\n\n            request.KeepAlive = true;\n            request.UsePassive = true;\n            request.UseBinary = true;\n\n            request.Method = WebRequestMethods.Ftp.DownloadFile;\n            request.Credentials = new NetworkCredential(username, password);\n\n            using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())\n            using (Stream responseStream = response.GetResponseStream())\n            using (StreamReader reader = new StreamReader(responseStream))\n            using (StreamWriter destination = new StreamWriter(destinationFile))\n            {\n                destination.Write(reader.ReadToEnd());\n                destination.Flush();\n            }\n\n            return 0;\n        }\n        catch (Exception ex)\n        {\n            MessageBox.Show(ex.Message);\n        }\n
Run Code Online (Sandbox Code Playgroud)\n\n

这在大多数情况下都有效,但我有一台客户端计算机,但出现异常:

\n\n
The remote server returned an error 403: Forbidden\n
Run Code Online (Sandbox Code Playgroud)\n\n

谁能告诉我为什么会这样?它\xe2\x80\x99在所有客户端上运行的代码完全相同(包括相同的用户名和密码)?

\n

c# ftp ftpwebrequest

2
推荐指数
1
解决办法
1830
查看次数

HTML设置表高度为100%

我试过这样做,但似乎只是被忽略了.我发现一些文章说如果你想这样做,那么你必须确保父对象也是100%.我有以下内容:

<html xmlns="http://www.w3.org/1999/xhtml">
  <head runat="server" style="height:100%">
    <title>Untitled Page</title>
    <asp:ContentPlaceHolder id="head" runat="server">
    </asp:ContentPlaceHolder>
    <style type="text/css">
      .MasterStyle
      {
          width: 98%;            
          height: 100%;
      }
      .ContentStyle
      {         
          width: 100%;
      }
      .TableStyle
      {
          width: 133px;                     
          height: 100%;
      }
    </style>
 </head>
 <body class="MasterStyle">
    <form id="frmMaster" runat="server">
     <div class="ContentStyle">        
      <asp:Label runat="server" Text="My Site Name" Font-Bold="true" Font-Names="MS-Sans" 
            Style="text-align:right" Width="100%" />
      <br />        
    </div>
    <hr />
    <table style="width:100%; height:100%" border="true">
      <tr>
        <td class="TableStyle" style="height:100%">    
Run Code Online (Sandbox Code Playgroud)

桌子周围有一个边框,可以看到它没有填满高度.谁能告诉我为什么我没有达到100%的高度?

html css asp.net height

2
推荐指数
1
解决办法
6955
查看次数

SQL Server - 创建自动递增唯一键

SQL Server中是否有一种方法可以创建一个主键自动递增的表?我一直在看"UniqueIdentifier"类型,但这似乎没有达到我的预期.

目前,我有这样的事情:

CREATE TABLE [dbo].[MyTable](
        [Date] [datetime] NOT NULL,
    [MyField1] [nchar](50) NOT NULL,
    [MyField2] [nvarchar](max) NULL,
    [Key] [uniqueidentifier] NOT NULL
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

基本上,我希望KEY从1开始,并为每条记录增加自己.

primary-key uniqueidentifier create-table sql-server-express

2
推荐指数
1
解决办法
8526
查看次数

退出VB.NET With块

在下面的代码块中,如果VB.NET优雅地退出With块Var1 = 2

With MyObject
    .Property1 = "test"
    If Var1 = 2 Then
        Return True
    End If
    .Property2 = "Test2"
End With

Return False
Run Code Online (Sandbox Code Playgroud)

我记得这是VB6中的一个问题并导致令人头疼的行为 - 这与VB.NET是一样的吗?

vb.net with-statement

2
推荐指数
1
解决办法
335
查看次数

在.NET中使用混合语言的项目

我不确定我想做什么是可能的,但令人惊讶的是VS2008似乎让我直接将.cs文件复制到我的VB.NET项目中.然后我想我可以直接从VB.NET使用这个文件中的类.但是,当我尝试引用它时,它没有看到它.我正在尝试做什么,或者VS2008只是将C#文件视为资源文件或什么?

c# vb.net .net-3.5

2
推荐指数
1
解决办法
216
查看次数

Windows Metro异步加载数据

我已经基于Split Page示例应用程序创建了一个Windows 8 Metro应用程序.但是,在示例应用程序中,数据在构造函数中同步加载.我正在访问文本文件,因此需要异步加载数据.构造函数如下所示:

    public MyDataSource()
    {
        DataLoaded = false;

        LoadData();
    }
Run Code Online (Sandbox Code Playgroud)

LoadData()是一种填充数据模型的异步方法.这工作正常,并在加载数据时显示数据(这是我想要的行为).当我尝试测试挂起并终止时,会出现问题.问题是恢复有可能在填充之前尝试访问数据模型:

    public static MyDataGroup GetGroup(string uniqueId)
    {
        // If the data hasn't been loaded yet then what?
        if (_myDataSource == null)
        {
        // Where app has been suspended and terminated there is no data available yet
        }

        // Simple linear search is acceptable for small data sets
        var matches = _myDataSource.AllGroups.Where((group) => group.UniqueId.Equals(uniqueId));
        if (matches.Count() == 1) return matches.First();
        return null;
    }
Run Code Online (Sandbox Code Playgroud)

我可以通过更改要调用的构造函数来解决此问题LoadData().Wait,但这意味着应用程序会锁定UI线程.我认为我需要的是一种获取恢复代码的方法,GetGroup以等待数据加载而不锁定UI线程.这是可行的还是可取的,如果是这样,怎么样? …

c# async-await microsoft-metro windows-runtime .net-4.5

2
推荐指数
1
解决办法
3130
查看次数