我需要在安装过程中在"%allusersprofile%/ Program Data"下创建一个文件夹.
安装文件是使用VS 2003安装项目创建的,在其中您可以使用几个已知文件夹...但是我看到没有映射到%allusersprofile%或"%allusersprofile%/ Program Data".
我认为创建一个"自定义文件夹"(在VS安装项目中)并将TargetLocation设置为%allusersprofile%它可以工作,但在安装过程中它说我没有该文件夹的权限(我确实有).
你知道如何在VS Setup Project中定位该文件夹吗?
另外......我在Windows XP中工作,所以%allusersprofile%映射到"C:\ Documents and Settings\All Users",但我想我应该在"Program Data"文件夹中创建我的文件夹.
在Vista中,%allusersprofile%映射到"C:\ ProgramData",如果我直接在那里创建我的文件夹,它看起来是正确的.
知道如何针对这两种操作系统吗?
附加信息: 我正在尝试这样做以避免Vista中的新安全功能,当至少作为普通用户运行时,应用程序无法在Program Files文件夹下写入文件.所以我需要将可写文件放在不是"每个用户"的"common"文件夹中.
我的所有表单都从一个基本表单继承,我们处理后台绘制并设置标准属性.
最近,如果应用程序在Vista或更高版本上运行以使用Segoe UI字体,我想到了这个问题.
问题是继承的形式改变了大小,它们的内部控制也改变了......甚至PictureBoxes !! 控件和表单似乎更薄(宽度),所以方形图片框成为垂直矩形!
不久之前,当我从标准(?)Sans Serif改为Verdana时,同样的事情发生了,但在那段时间我的应用程序变小了,我检查并修复了每个表格......现在有数百种表格并不方便.
知道为什么会发生这种情况以及可能解决这个问题的方法吗?
在 Migradoc 和 PDFSharp 示例页面中,有一个将 Migradoc 文档绘制为 PDFSharp 文档:http://www.pdfsharp.net/wiki/MixMigraDocAndPdfSharp-sample.ashx
但是,如果我要渲染的 Migradoc 文档不止一页怎么办? 在 Migradoc 中,您不处理页面..它是自动完成的。
编辑:找到我的路
好吧,一旦你“ Prepare()”文档......你就有了FormattedDocument()方法,在那里你可以看到它最终有多少页。我在下面添加了我自己的回应。
我有两个类似布局的表,包括INCOME和EXPENSES.该id列是客户ID.
我需要一个客户TOTAL AMOUNT的结果,总结收入和支出.
Table: Income
| id | amountIN|
+--------------+
| 1 | a |
| 2 | b |
| 3 | c |
| 4 | d |
Table: Expenses
| id | amountOUT|
+---------------+
| 1 | -x |
| 4 | -z |
Run Code Online (Sandbox Code Playgroud)
我的问题是,有些客户只有开支,有些只是收入...所以无法提前知道我需要做的事情 LEFT or RIGHT JOIN.
在上面的例子中,RIGHT JOIN可以解决这个问题,但是如果情况被颠倒(Expenses表上有更多的客户)它就不起作用了.
Expected Result
| id | TotalAmount|
+--------------+
| 1 | a - x |
| 2 | b |
| 3 | c | …Run Code Online (Sandbox Code Playgroud) 我试图DropDownListFor<>在我的LayoutTemple中使用a ,所以我无法访问模型.所以我所做的是在@{}我添加的页面顶部的块中,FFInfo.DAL.SoloClassesContext db = new FFInfo.DAL.SoloClassesContext();它调用了我想要使用的类的DBContext实例.然后我把List放在我想要的地方
@Html.DropDownListFor(
m => m.ID,
new SelectList(db.CultureCodes, "ID", "DisplayName"));
Run Code Online (Sandbox Code Playgroud)
但是当我运行代码时,我得到了一行错误m => m.ID.给出的错误是:
表达式树可能不包含动态操作
我从来没有使用过这种类型的下拉菜单,对MVC来说也是新手.任何人都可以告诉我我做错了什么以及如何解决它?
我有一个userControl(.NET 1.1 Winforms),它有一个可点击的图片框作为按钮.
由于我有很多这些用户控件可以同时显示,我想如果我只是在鼠标悬停在用户控件上时显示图片框而不是隐藏它可能会很好.
为此,我处理UserControl的MouseEnter和MouseLeave事件,隐藏并显示图片框.这很好.
但是当可点击的图片框可见时,我不再能够点击它(手形光标消失了,并且点击事件没有被触发).
经过一些测试后,我意识到如果对MouseLeave处理程序中的所有内容进行评论,那些内容与我的图片框有关......这样,图片框就是可点击的.
我没有使用正确的活动?
有另一种方法来实现这一目标吗?
这是代码......
Private Sub NodoEstablo_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.pictAdd.Visible = False
End Sub
Private Sub NodoEstablo_MouseEnters(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.MouseEnter
Me.pictAdd.Visible = True
End Sub
Run Code Online (Sandbox Code Playgroud)
有问题的事件处理程序:
Private Sub NodoEstablo_MouseLeaves(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.MouseLeave
Me.pictAdd.Visible = False
End Sub
Run Code Online (Sandbox Code Playgroud)
更新:如果我在MouseLeave上调整图片框的大小(只是为了做某事)它可以工作.到目前为止,在MouseLeave中更改Visible和Location会阻止我单击图片框.:S
我有以下代码:
using (StreamReader sr = new StreamReader(path, Encoding.GetEncoding("shift-jis"), true)) {
mCertainFileIsUTFFormat = !sr.CurrentEncoding.Equals(Encoding.GetEncoding("shift-jis"));
mCodingFromBOM = sr.CurrentEncoding;
String line = sr.ReadToEnd();
return line.Split('\n');
}
Run Code Online (Sandbox Code Playgroud)
如果没有BOM,基本上读取文件并假设Shift-Jis.唉,这种方法总是,无论如何,返回Shift-JIS编码,即使有问题的文件中有BOM.我在这里做错了什么或者是否存在已知问题?我总是可以打开文件二进制文件并自己完成工作,但这应该做我想要的:)
c# ×2
vb.net ×2
winforms ×2
.net ×1
.net-2.0 ×1
fonts ×1
installer ×1
migradoc ×1
mouseleave ×1
pdfsharp ×1
programdata ×1
sql ×1
sql-server ×1
t-sql ×1