在c ++中,这段代码可以工作:
char c='a';
int r=2;
c+=r;
Run Code Online (Sandbox Code Playgroud)
这将做同样的事情c='c'.我怎样才能在c#中做同样的事情?
我发布了一个Android应用程序.
问题是,如果有人购买我的应用程序,他可以使用同一帐户在多个设备上安装它.
我可以将安装限制为每个帐户的几个(比方说2个)唯一设备吗?
如果用户想要在具有相同帐户的其他设备上使用它,则必须先从另一个设备上卸载.
如何在我的应用程序中实现此目的?
可能重复:
是否已有Google+ API?
我正在寻找Android Google+代码示例或sdk(在线发布是我需要的最重要的事情).我想要一些SDK或像facebook这样的例子(例如https://github.com/facebook/facebook-android-sdk).
我想到了,因为很多网站现在在facebooks'喜欢'按钮(文章等)附近有'+1'按钮我想如果我的程序已经在Facebook的墙上发布,为什么不在google +上发布?虽然Android和Google+来自同一家公司,但我找不到像我上面给出的facebook SDK那样有用的东西.
有任何想法吗?
我试图向后滚动一个WPF DataGrid代码.我用
int itemNum=0;
private void Down_Click(object sender, RoutedEventArgs e)
{
if (itemNum + 1 > dataGridView.Items.Count - 1) return;
itemNum += 1;
dataGridView.UpdateLayout();
dataGridView.ScrollIntoView(dataGridView.Items[itemNum]);
}
Run Code Online (Sandbox Code Playgroud)
仅当itemNum当前未显示行时,此选项才会向下滚动.
例如,如果DataGrid足够长以容纳10行而我有20行,我需要调用此函数11次(直到itemNum11)才能滚动到下一行.
如果行已经适合网格(即使它是屏幕上的最后一行),它也不会向下滚动.
我希望实现这一点,当我调用此方法时,网格将下一行放入网格的顶部(如滚动条所做).为什么它不起作用?
我有一个磁卡读卡器,使用键盘输入发送数据.我正在使用KeyDown事件获取此对象(C#WPF):
KeyEventArgs e
Run Code Online (Sandbox Code Playgroud)
我想把我得到的钥匙和它们串起来.我试着连续e.Key.ToString(),但这不起作用.我的输入有很多数字和符号(例如;?=等),而e.Key.ToString()的东西不起作用(它给了我一个数字的D3,而SHIFT或CTRL +另一个关键用于迹象).
我只想要字符串,所以当我使用例如Console.WriteLine时,我会得到类似的东西
;51895401051=000001341?
Run Code Online (Sandbox Code Playgroud)
并不是
Oem1SHIFTD1CNTRLD2D3D2D1SHIFTD9OemQuestion ....
Run Code Online (Sandbox Code Playgroud)
我尝试使用KeyConverter,但我无法解决这个问题.
有人可以帮帮我吗?
我当前的事件处理程序(无法正常工作)是:
public static void keyPress(Object sender, KeyEventArgs e)
{
string keyCodeString = e.Key.ToString();
char? key = null;
if (keyCodeString.Length == 1)
{
key = keyCodeString[0];
}
else
{
if (keyCodeString.StartsWith("NumPad"))
{
key = keyCodeString[keyCodeString.Length - 1];
}
else if (keyCodeString.StartsWith("D"))
key = keyCodeString[keyCodeString.Length - 1];
}
TypedText += key;
}
Run Code Online (Sandbox Code Playgroud)
TypedText是我想要将键连接到的字符串.输出结果如上所述.
我自己解决了.这是答案.GetCharFromKey下面的 函数获取一个Key(你应该发送e.Key)并返回一个char:
public enum MapType : uint
{
MAPVK_VK_TO_VSC = 0x0,
MAPVK_VSC_TO_VK …Run Code Online (Sandbox Code Playgroud) 我有#.net 4 app,使用vs 2010.我试图导入一个c ++ dll(基于vs 2005建立).
[DllImport("Card.dll")]
Run Code Online (Sandbox Code Playgroud)
我失败了:
无法加载DLL'Card.dll':应用程序无法启动,因为它的并排配置不正确.有关更多详细信息,请参阅应用程序事件日志或使用命令行sxstrace.exe工具.(HRESULT异常:0x800736B1)
使用sxstrace.exe我得到:
错误:无法解析参考Microsoft.VC80.DebugMFC,processorArchitecture ="x86"
我还发现:
缺少MFC80D.DLL和MSVCR80D.DLL
请注意,这不是DebugCRT,因为此问题是由使用Debug编译的DLL而不是Release引起的.我现在使用Release编译的dll,问题是DebugMFC.
我尝试过任何我能在网上找到的东西.为了节省时间,我将介绍我尝试的内容,所以我不会再次得到这个建议:
1-我已安装Microsoft Visual C++ 2010 Redistributable Package + SP1 +安全更新
2-我已安装Microsoft Visual C++ 2008 Redistributable Package
3 - 我已经安装了Microsoft Visual C++ 2005 Redistributable Package
4 - 我尝试将此应用程序作为"发布"而不是"调试"运行
5 - 我试图将entryPoint设置为DllImport
没有帮助.我仍然得到同样的错误.我没有看到任何其他在线建议,而不是上面列出的建议.谁能帮我?
我有一个WPF C#应用程序.我有双屏幕,我想在其中一个屏幕上取消鼠标事件,因为它是一个触摸屏,当用户按下它时它会将焦点从主屏幕上移开.我想在向用户请求数据时启用触摸,然后阻止它.
我找到了一些关于使用user32.dll的应用程序挂钩的好例子,这有助于我捕获设备输入.一个例子显示在这里:http://www.pinvoke.net/default.aspx/user32.setwindowshookex.而另一个,更适合鼠标事件可以在这里显示:如何避免鼠标移动触摸
我的问题不是捕获设备输入,而是禁用它.上面的第一个示例显示了如何捕获键盘输入并提取按键,但不禁用它.
第二个例子不起作用.它捕获鼠标事件,常规USB鼠标设备和触摸屏设备.我可以告诉哪个是哪个,但我无法取消触摸屏设备.在该示例中,new IntPtr(1);为触摸设备返回a .这对设备输入没有任何作用.
另一方面,当我做相反的事情时,意味着返回新的IntPtr(1); 每次鼠标事件但触摸事件,似乎我的常规鼠标根本不移动(触摸设备鼠标确实移动).
这种方法可以帮助阻止常规鼠标,但不能阻止触摸鼠标,因为我没有返回的代码会阻止这个鼠标(我找到这个鼠标并返回代码,我检查了很多次,但代码什么也没做).
这是我的代码基于以上示例:
static readonly LowLevelMouseProc hookCallback = HookCallback;
static IntPtr hookId = IntPtr.Zero;
public DisableTouchConversionToMouse()
{
hookId = SetHook(hookCallback);
}
static IntPtr SetHook(LowLevelMouseProc proc)
{
var moduleHandle = UnsafeNativeMethods.GetModuleHandle(null);
var setHookResult = UnsafeNativeMethods.SetWindowsHookEx(HookType.WH_MOUSE_LL,
proc, moduleHandle, 0);
if (setHookResult == IntPtr.Zero)
{
throw new Win32Exception();
}
return setHookResult;
}
delegate IntPtr LowLevelMouseProc(int nCode, IntPtr wParam, IntPtr lParam);
static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam) …Run Code Online (Sandbox Code Playgroud) 我正在使用wpf c#Window.我有一个像这样定义的按钮:
<Button x:Name="but" Style="{DynamicResource ButtonStyle13}" / >
Run Code Online (Sandbox Code Playgroud)
我的ButtonStyle是这样的:
<VisualState x:Name="Pressed">
//bla bla (my style) goes here
Run Code Online (Sandbox Code Playgroud)
现在,当我使用这种视觉状态时,按下按钮时视觉正在改变但后来恢复正常.我希望按钮处于"按下"状态,它将保持"按下"直到我按下另一个按钮.
我尝试像这样改变它:
<VisualState x:Name="myPre">
Run Code Online (Sandbox Code Playgroud)
然后在代码中使用:
VisualStateManager.GoToElementState(but, "myPre", true);
Run Code Online (Sandbox Code Playgroud)
完全没有剂量.然后我用了
VisualStateManager.GoToState(but, "myPre", true);
Run Code Online (Sandbox Code Playgroud)
只要鼠标悬停在按钮上,这就会按下我的按钮,但是当它失去焦点(鼠标移动)时,它会恢复正常.
我希望我已经清楚了.如何使按钮保持在按下的视觉状态,直到我决定(在代码内)取消该按钮?
如何将事件处理程序(如keydown)设置为整个解决方案,而不是单个窗口?
我使用的是 asp.net 4,而不是 2010。
我有一个网站项目,其中包含一些分页(apsx)和Web服务(asmx)。
我正在尝试使用我的项目中包含的自定义用户控件。
WebControl/UserControl 是一个普通的 C# 类,没有 aspx/ascx/asmx。该类的配置如下:
public class DropDownMenu : UserControl
Run Code Online (Sandbox Code Playgroud)
这意味着它扩展了 System.Web.UI.UserControl,并且它重写了一堆 UserControls 方法,例如 OnPreRender、OnLoad 等。
该文件编译正常,但我没有成功在 aspx 文件中使用它。
我尝试了以下方法:
<%@ Register TagPrefix="My" TagName="DropDownMenu"
Src="DropDownMenu.cs"%>
Run Code Online (Sandbox Code Playgroud)
但这毫无作用。我收到运行时错误:
文件“src”在这里无效,因为它没有公开类型。
我也尝试过
<%@ Register Assembly="DropDownMenu" Namespace="MyNameSpace" TagPrefix="My" %>
Run Code Online (Sandbox Code Playgroud)
我收到运行时错误
无法加载文件或程序集“DropDownMenu”或其依赖项之一。该系统找不到指定的文件。
有谁知道如何使用我的类作为 asp 标记/控件?我只想在 aspx 页面中使用以下内容:
<我的:下拉菜单>
如何检查c#中的字符串是否以char的ascii代码开头?函数StartsWith只接收一个字符串而不是char.我想知道字符串是以86的ascii开头,以ascii为91结尾.我怎样才能实现这个目的?