我喜欢操作系统,最终想成为一个主要从事内核工作的操作系统开发人员.在未来,C仍然是首选语言,我还应该学习什么?
当我在Visual Studio 2010 RTM中的代码编辑器窗口中间单击鼠标右键时,将出现一个上下文菜单.这占据了屏幕高度的四分之一,但没有显示所有选项.相反,当您将指针移动到菜单的顶部或底部时,它会上下滚动.如果我点击屏幕顶部或底部附近,菜单是正常的,不滚动.
我可以关闭此行为吗?这很傻.你甚至无法使用鼠标滚轮滚动.
编辑
我估计这可能只是一个错误 - 我发现了一些.
我的javascript体验中最困难的问题之一是iframe高度的正确(即"跨浏览器")计算.在我的应用程序中,我有很多动态生成的iframe,我希望它们都在load事件结束时进行一种自动调整以调整它们的高度和宽度.
在高度计算的情况下,我的最佳解决方案是以下(在jQuery的帮助下):
function getDocumentHeight(doc) {
var mdoc = doc || document;
if (mdoc.compatMode=='CSS1Compat') {
return mdoc.body.offsetHeight;
}
else {
if ($.browser.msie)
return mdoc.body.scrollHeight;
else
return Math.max($(mdoc).height(), $(mdoc.body).height());
}
}
Run Code Online (Sandbox Code Playgroud)
我没有成功搜索互联网.我还测试了雅虎库,它有一些文档和视口尺寸的方法,但它并不令人满意.我的解决方案工作正常,但有时它会计算出更高的高度.我已经在Firefox/IE/Safari中研究并测试了大量有关文档高度的属性:documentElement.clientHeight, documentElement.offsetHeight, documentElement.scrollHeight, body.offsetHeight, body.scrollHeight, ...
jQuery在各种浏览器中也没有连贯的行为$(document.body).height(), $('html', doc).height(), $(window).height()
我不仅在加载事件结束时调用上述函数,而且在动态插入DOM元素或隐藏或显示的元素的情况下也调用上述函数.这种情况有时会破坏仅在load事件中起作用的代码.
有人有真正的跨浏览器(至少是Firefox/IE/Safari)解决方案吗?一些提示或提示?
我有一个批处理文件,通过转到目录并检查CONFIG目录是否存在来检测用户是否安装了.Net框架.
如果该目录不存在,则用户没有安装.Net框架.然后批处理文件将继续安装.Net框架.但是,存在一个问题,因为在运行安装程序以安装我的拨号程序之前需要安装.Net框架.所以我放了一个PAUSE语句,这样用户在安装框架后会按任意键继续.
但是,我们的客户不喜欢这样,因为他们的一些客户不理解,他们在框架完成安装之前按下了一个键.这会导致安装失败,因为框架尚未首先安装.
我正在使用等待用户输入的PAUSE.但是,有没有一种方法,批处理将等到框架自动完成而不是使用PAUSE命令?
非常感谢任何建议,
@ECHO OFF
REM Copy the configuration file
copy config.xml "%AppData%\DataLinks.xml"
REM Search for the CONFIG file, if this doesn't exit then the user doesn't have the .Net framework 2.0
SET FileName=%windir%\Microsoft.NET\Framework\v2.0.50727\CONFIG
IF EXIST %FileName% GOTO INSTALL_DIALER
ECHO.You currently do not have the Microsoft(c) .NET Framework 2.0 installed.
ECHO.This is required by the setup program for MyApplication.
ECHO.
ECHO.The Microsoft(c) .NET Framework 2.0 will now be installed on you system.
ECHO.After completion setup will continue to …Run Code Online (Sandbox Code Playgroud) 我打算学习C#并开始编写Windows .exe应用程序,但唯一阻碍我的是,并非所有潜在用户都安装了.NET框架,因此无法运行我的应用程序.
它有什么办法吗?
谢谢!
不知道我在这里做错了什么.无法识别扩展方法.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using StringExtensions;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
RunTests();
}
static void RunTests()
{
try
{
///SafeFormat
SafeFormat("Hi There");
SafeFormat("test {0}", "value");
SafeFormat("test missing second value {0} - {1}", "test1");
SafeFormat("{0}");
//regular format
RegularFormat("Hi There");
RegularFormat("test {0}", "value");
RegularFormat("test missing second value {0} - {1}", "test1");
RegularFormat("{0}");
///Fails to recognize the extension method here
string.SafeFormat("Hello");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
Console.ReadLine();
} …Run Code Online (Sandbox Code Playgroud) 当我对一个out或ref参数进行赋值时,是否会立即将值赋给调用者提供的引用,还是在方法返回时分配给引用的out和ref参数值?如果方法抛出异常,则返回值吗?
例如:
int callerOutValue = 1;
int callerRefValue = 1;
MyMethod(123456, out callerOutValue, ref callerRefValue);
bool MyMethod(int inValue, out int outValue, ref int refValue)
{
outValue = 2;
refValue = 2;
throw new ArgumentException();
// Is callerOutValue 1 or 2?
// Is callerRefValue 1 or 2?
}
Run Code Online (Sandbox Code Playgroud) 我有一个用于编辑数据库信息的WPF窗口,它使用Entity Framework对象表示.当用户关闭窗口时,我想在Closing事件中注意信息是否已更改并显示一个消息框,用于将更改保存到数据库.
不幸的是,在编辑失去焦点之前,对当前焦点编辑的更改不会分配给绑定源,这会在处理Closing事件之后的某个时刻发生.
理想情况下,在检查我的实体是否已被修改之前,会有一个例程提交我可以调用的视图层次结构中的所有更改.我也在寻找有关以焦点方式清除控件焦点的信息,但无法弄清楚如何去做.
我的问题是,这通常是如何处理的?
好吧,首先我觉得这很容易,也许就是这样,我太累了 - 但这就是我想做的事情.说我有以下对象:
public class Container
{
public string Name { get; set; }
public List<Address> Addresses { get; set; }
}
public class Address
{
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public List<Telephone> Telephones { get; set; }
}
public class Telephone
{
public string CellPhone { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我需要做的是,将容器属性名称'flatten'到一个字符串(包括所有子属性和子属性的子属性),看起来像这样:
Container.Name, Container.Addresses.AddressLine1, Container.Addresses.AddressLine2, Container.Addresses.Telephones.CellPhone
Run Code Online (Sandbox Code Playgroud)
这有任何意义吗?我似乎无法将它包裹在我的脑海里.
c# ×5
.net ×3
batch-file ×1
bitmap ×1
collections ×1
data-binding ×1
graphics ×1
iframe ×1
javascript ×1
jquery ×1
kernel ×1
osdev ×1
reflection ×1
string ×1
wpf ×1