这是一个C#.NET 4.0应用程序:
我将文本文件嵌入为资源,然后尝试在对话框中显示它:
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "MyProj.Help.txt";
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
{
using (StreamReader reader = new StreamReader(stream))
{
string result = reader.ReadToEnd();
System.Windows.Forms.MessageBox.Show(result, "MyProj", MessageBoxButtons.OK);
}
}
Run Code Online (Sandbox Code Playgroud)
解决方案是MyProjSolution,可执行文件是MyProj.exe.Help.txt是一个嵌入式资源.但是,流为空.我已经尝试了MyProjSolution.Help.txt和MyProjSolution.MyProj.Help.txt,但似乎没有任何效果.
我创建了一个DataGridView控件,其中第一列是一个复选框.当我在复选框内单击时,代码正确执行.但是,当单元格中出现单击但不出现复选框时,代码会正确处理复选框的状态,但不会更新复选框本身,因此它仍处于单击之前的状态.
我该如何纠正?
private void myDataGrid_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex == -1) return; //check if row index is not selected
DataGridViewCheckBoxCell ch1 = new DataGridViewCheckBoxCell();
ch1 = (DataGridViewCheckBoxCell)myDataGrid.Rows[e.RowIndex].Cells[0];
if (ch1.Value == null)
ch1.Value = false;
switch (ch1.Value.ToString())
{
case "False":
ch1.Value = true;
break;
case "True":
ch1.Value = false;
break;
}
//BUT doesn't seem to matter what I do with ch1.Value. Inside the checkbox all is OK but
//outside, no.
}
Run Code Online (Sandbox Code Playgroud)
如果我单击该行上的另一个单元格,则会正确处理该复选框.仅当我单击复选框单元格而不是复选框本身时.
我的意思是(和道歉),代码正确执行但UI没有正确更新以反映更改.因此,如果取消选中此复选框,则在取消选中之前取消选中该复选框
即使它实际上是检查过的,也是病房.
谢谢RON
我下载了3.3.6版本,使用了他们的(Bootstrap)示例文件(见下文),但得到错误:uncaught syntaxError:Unexpected token {
.我添加了一些硬回报,以确定哪一行是潜在的问题:
html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}
Run Code Online (Sandbox Code Playgroud)
这是他们的文件,为我的本地文件系统修改了链接:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Bootstrap 101 Template</title>
<!-- Bootstrap -->
<link href="/programming/javascript/bootstrap-3.3.6-dist/css/bootstrap.min.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// --> …Run Code Online (Sandbox Code Playgroud) 当我在 Visual Studio 中运行(或首次运行)跨平台 Android 应用程序时,我收到一条消息,指出 ADB 二进制文件已过时,应该更新。不确定从哪里来。
这是我安装的工具:
我创建了一些入门应用程序,它们可以正常工作。只是不知道如何解决这个问题。
此外,在 VS 中启动应用程序时,我得到以下输出:
[I:]: Looking for Android SDK...
[I:]: Key HKCU\SOFTWARE\Xamarin\VisualStudio\15.0_70e59f45\Android\AndroidSdkDirectory found:
Path contains adb.EXE in \platform-tools (C:\Program Files (x86)\Android\android-sdk).
[I:]: Key HKLM\SOFTWARE\Xamarin\VisualStudio\15.0_70e59f45\Android\AndroidSdkDirectory not found.
[I:]: Key HKCU\SOFTWARE\Xamarin\MonoAndroid\PrivateAndroidSdkPath not found.
[I:]: Key HKCU\SOFTWARE\Android SDK Tools\Path not found.
[I:]: Key HKLM\SOFTWARE\Android SDK Tools\Path not found.
Run Code Online (Sandbox Code Playgroud)
罗恩
我想从批处理文件中运行一个控制台应用程序.实际上,控制台应用程序是从另一个批处理文件运行 该应用程序可以采用两个命令行参数a和b.它们是文件名.我有两个文件列表,alist.txt和blist.txt,长度相同.我想,如果可能的话,像这样运行批处理:
FOR /F %%a in (alist.txt) %%b in (blist.txt) do runconsolebatch.bat %%a %%b
Run Code Online (Sandbox Code Playgroud)
但这不起作用.当我运行它时,我得到"%b此时出乎意料."
如果我以某种方式嵌套它们,那就行不通了.我可以将两个文件列表加入一个文件......就像这样?
file1A file2A
file1B file2B
Run Code Online (Sandbox Code Playgroud)
但我不确定如何将file1A分配给%a和file1B分配给%b,或者如果可能的话.
2015年4月12日:我认为这已经解决了.我甚至使用了我认为正确的批处理文件,但它不起作用.我现在得到的是第一个输出线是正确的,其余的是这样的:
第一行正常工作.但即使DIR.TXT文件有5个条目且NAMES.TXT文件有3个条目,我只能再获得两行.这应该是15行输出.其余的输出是这样的:
G:\test>(
set /p "valueA="
runconsolebatch.bat !valueA! name1.txt
)
Command line: in=!valueA! name1.txt
failure validating G:\test\source\!VALUEA!: file may not be correctly specified or doesn't exist.
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的批处理文件:
@echo off
setlocal enableextensions enabledelayedexpansion
<"dir2.txt" (
for /f "usebackq delims=" %%b in ("names.txt") do (
set /p "valueA="
runconsolebatch.bat !valueA! %%b
)
)
Run Code Online (Sandbox Code Playgroud)
如果我改变runconsolebatch.bat回声,我得到
echo !valueA! %%b
Run Code Online (Sandbox Code Playgroud)
我得到三行输出:dir2.txt中的第一行和names.txt中的第一行,第二行和第二行以及第三行和第三行.
出于某种原因,虽然这种方法曾经有效,但现在还没有.这是我的批处理文件: …
在:
使用ConfigurationManager从任意位置加载配置, 我发现了一种解决方案。我正在处理的项目使用网络上的appSettings.config文件位置。但是,当我尝试使用引用的代码时:
System.Configuration.ConfigurationFileMap fileMap = new ConfigurationFileMap("Z:\Settings\appSettings.config"); //Path to your config file
System.Configuration.Configuration configuration = System.Configuration.ConfigurationManager.OpenMappedMachineConfiguration(fileMap);
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都很好。appSettings.config文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="Environment" value="Development" />
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
但是然后我到达以下行:
var settings = configuration.AppSettings.Settings;
Run Code Online (Sandbox Code Playgroud)
或使用它的任何东西(例如Settings.Count),都会收到无效的强制转换异常。基本上,我如何从中获得“环境”的价值?
我的代码将文件读入 unsigned char* 数组。该文件实际上是一个文本文件,其“正常”行结尾为 0x0D、0x0A,长度为 64 字节。
FILE * inputFile = fopen(sInfile.c_str(), "r+");
unsigned char * readArray = (unsigned char *)malloc(sizeof(unsigned char)*readSize); //readSize=64
int bytes_read = fread(readArray, sizeof(unsigned char), readSize, inputFile);
Run Code Online (Sandbox Code Playgroud)
但 bytes_read 是 59,当我检查 readArray 时,它没有任何 \r (0x0D),但文件有。为什么 fread 会跳过所有这些值?有没有一个设置可以控制这个?