我正在使用以下代码来检测用户是否处于平板电脑模式.我在Surface Pro上,当我解除键盘并将PC变成平板电脑时,IsTabletMode返回true(应该这样.)当我使用"平板电脑模式"按钮而不解耦屏幕时,IsTabletMode总是返回false.有没有人经历过这个,我该如何解决?
/*
* Credit to Cheese Lover
* Retrieved From: http://stackoverflow.com/questions/31153664/how-can-i-detect-when-window-10-enters-tablet-mode-in-a-windows-forms-applicatio
*/
public static class TabletPCSupport
{
private static readonly int SM_CONVERTIBLESLATEMODE = 0x2003;
private static readonly int SM_TABLETPC = 0x56;
private Boolean isTabletPC = false;
public Boolean SupportsTabletMode { get { return isTabletPC; }}
public Boolean IsTabletMode
{
get
{
return QueryTabletMode();
}
}
static TabletPCSupport ()
{
isTabletPC = (GetSystemMetrics(SM_TABLETPC) != 0);
}
[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto, EntryPoint = "GetSystemMetrics")] …Run Code Online (Sandbox Code Playgroud) 我最近问了一个与此极为相似的问题,我等到我在给出答案之前解决这个问题.
我有一个ASP.Net应用程序,我需要跟踪每个实体的编辑和作者字段.你可以在这里看到完整的问题:MVC跟踪字段,如作者和编辑器(创建者和修改者)
我现在的变化是我将使用Azure AD.因此我没有ApplicationUser或DbSet <ApplicationUser>要查询.但是,我需要能够Author在实体的字段中保存用户SID ,然后在页面上显示该实体时,拉出相应的显示名称.
有人能指出我需要如何存储字段的正确方向,以及最佳实践建议他们如何获得每个实体的用户显示名称.每次显示用户时是否需要查询Azure AD?