问题列表 - 第5306页

是不是没有搜索框的按钮?

我想知道是否可以在网页的搜索框附近没有提交按钮(Ok,Go或Search).

我知道点击输入要快得多,它会执行搜索.

但是,对于普通的非技术用户还是仅限于技术社区来说,这是一个公认的惯例吗?

例如,stackoverflow的搜索框没有提交按钮,但我认为没有人抱怨(我肯定不会).

另一方面,有人建议以谷歌为例:人们会注意到这些按钮是否被移除了?

我刚开始读书,不要让我思考史蒂夫克鲁格和他提到,每一个搜索框,应该有一些告诉我,我可以点击它来启动搜索.

你的意见?

usability search button

15
推荐指数
2
解决办法
3610
查看次数

如何从Win32句柄获取System.Windows.Form实例?

以下代码实现了一个简单的单例,确保只能运行我的应用程序的一个实例.但是,如果启动了另一个实例,我需要能够获取该实例的命令行参数,将它们传递给初始实例,然后终止第二个实例.

当我试图抓住应用程序的第一个实例时,问题出现了.一旦我找到了该实例的主窗体的句柄,我将它传递给Control.FromHandle()方法,期望得到一个MainForm.相反,返回值始终是null.(Control.FromChildHandle()给出相同的结果.)

因此,我的问题很简单:我做错了什么?这在.NET中甚至可能吗?

public class MainForm : Form
{
[DllImport("user32")]
extern static int ShowWindowAsync(IntPtr hWnd, int nCmdShow);

[DllImport("user32")]
extern static bool SetForegroundWindow(IntPtr hWnd);

private Mutex singletonMutex;

private void MainForm_Load(object sender, EventArgs e)
{
  bool wasCreated;
  singletonMutex = new Mutex(false, Application.ProductName + "Mutex", out wasCreated);

  // returns false for every instance except the first
  if (!wasCreated)
  {
    Process thisProcess = Process.GetCurrentProcess();
    Process[] peerProcesses = Process.GetProcessesByName(thisProcess.ProcessName.Replace(".vshost", string.Empty));

    foreach (Process currentProcess in peerProcesses)
    {
      if …
Run Code Online (Sandbox Code Playgroud)

c# winapi interop ipc winforms

5
推荐指数
1
解决办法
1万
查看次数

如何使用Html.DropDownList为默认选项设置值

我正在使用ASP MVC RC1.

我正在使用的表单包含一个下拉列表,我已将此代码放入视图中.

<%= Html.DropDownList("areaid", (SelectList)ViewData["AreaId"], "Select Area Id")%>
Run Code Online (Sandbox Code Playgroud)

但是,渲染时,这就是我得到的

<select id="areaid" name="areaid">
   <option value="">Select Area Id</option>
   <option value="1">Home</option>
   ...
</select> 
Run Code Online (Sandbox Code Playgroud)

我想要的是选择区域ID选项的值为0,默认情况下将其标记为已选中,因此它与其他值一致,我可以验证是否已选择某个区域,因为它是强制性的值.AreaId是一个整数,因此当我当前单击该表单而根本没有触及下拉列表时,MVC抱怨""不是整数并且给我一个绑定错误.

那么如何设置默认选项的值,然后在表单上选中它?

谢谢,丹

asp.net-mvc

6
推荐指数
1
解决办法
5万
查看次数

F#项目欧拉问题27

我一直试图通过Euler项目的问题27来解决这个问题,但是这个问题似乎让我很难过.首先,代码运行时间太长了(可能在我的机器上运行几分钟,但更重要的是,它返回了错误的答案,虽然在查看了一段时间之后我真的无法发现算法有任何问题.

这是我目前的解决方案代码.

/// Checks number for primality.
let is_prime n = 
    [|1 .. 2 .. sqrt_int n|] |> Array.for_all (fun x -> n % x <> 0)

/// Memoizes a function.
let memoize f = 
    let cache = Dictionary<_, _>()
    fun x -> 
        let found, res = cache.TryGetValue(x)
        if found then
            res
        else
            let res = f x
            cache.[x] <- res
            res

/// Problem 27
/// Find a quadratic formula that produces the maximum number of …
Run Code Online (Sandbox Code Playgroud)

primes f# functional-programming

1
推荐指数
1
解决办法
1743
查看次数

自动释放范围

我想知道自动删除是如何在iPhone上运行的.我知道,一旦你向对象发送自动释放,它就会被保留,直到autorelease被发送的块的范围结束.那是对的吗?

我在applicationDidFinishLaunching下面的NIB中初始化一个视图:

    (void)applicationDidFinishLaunching:(UIApplication *)application {

    loginViewController = [[[LoginViewController alloc] initWithNibName:@"LoginView" bundle:nil] autorelease];

    [window addSubview: [loginViewController view]];
    [window makeKeyAndVisible];
}
Run Code Online (Sandbox Code Playgroud)

并且视图根本没有显示,屏幕上的所有内容都是 UIWindow

现在,一旦我autorelease从控制器初始化中删除了所有内容,从那里开始顺利进行.

这是关于什么的?

干杯,K.

xcode cocoa cocoa-touch objective-c ios

6
推荐指数
1
解决办法
1783
查看次数

WPF:旋转后获取新坐标

参考我目前正在构建的这个编程游戏.

alt text http://img12.imageshack.us/img12/2089/shapetransformationf.jpg

要在WPF中翻译Canvas,我使用两个表单:( TranslateTransform移动它)和RotateTransform(旋转它)[ 相同的子节点 TransformationGroup ]

我可以很容易地获得画布的左上角x,y坐标,当它没有旋转(或旋转90度,因为它将是相同的),但我面临的问题是左上角(和其他3点)坐标.

这是因为当RotateTransform应用a 时,TranslateTransform's XY属性不会改变(因此仍然表明正方形的左上角就像点状正方形(来自图像)

Canvas正在从它的中心旋转,因此它就是它的起源.

那么如何在旋转后获得4个点的"新"x和y坐标

[UPDATE]

alt text http://img25.imageshack.us/img25/8676/shaperotationaltransfor.jpg

我找到了找到左上角的方法通过将旋转中的OffsetX和OffsetY添加到起始X和Y坐标,在旋转后坐标的方法(从新图像中可以看到).

但我现在无法找出其余的坐标(另外3个).

通过这种旋转的形状,我如何计算其余3个角的x和y坐标?

[编辑]

第二张图片中的点不准确和精确点.我在脑海中估计了这一点.

[更新]解决方案:

首先,我要感谢Jason S.这篇冗长且非常翔实的文章,其中他描述了整个过程背后的数学; 通过阅读你的帖子和尝试价值观,我当然学到了很多东西.

但我现在已经找到了一个代码片段(感谢EugeneZ的提及TransformBounds),它完全符合我的要求:

public Rect GetBounds(FrameworkElement of, FrameworkElement from)
{
    // Might throw an exception if of and from are not in the same visual tree
    GeneralTransform transform = …
Run Code Online (Sandbox Code Playgroud)

math wpf transform

13
推荐指数
2
解决办法
2万
查看次数

如何为WPF元素提供矩形平面3D边框?

我想为我的一个控件模板创建一个矩形的"平面3D"外观.在它最简单的版本中,这意味着底部的线条比顶部的线条暗,并且左侧和右侧线条之间也可能存在一些差异.

更复杂的版本允许我提供一个或多个画笔,以便可以应用渐变.

默认 <Border>WPF中元素允许您为每条边指定不同的厚度,但我找不到指定多个笔刷的方法.

那么,我怎样才能尽可能简单地产生我想要的效果呢?

编辑有人建议我发布一个我想如何使用它的例子.就个人而言,我很乐意拥有一个风格或用户控件.因此可以使用用户控件:

<FourSidedBorder LeftSideBrush="#00f" RightSideBrush="#0f0" ... />
Run Code Online (Sandbox Code Playgroud)

或者甚至更简单:

<FourSidedBorder BorderBrush="#00f,#0f0,#f00,#fff"
                 BorderThickness="1,2,3,4" ... />
Run Code Online (Sandbox Code Playgroud)

这些只是想法.任何明智,简洁的解决方案都是受欢迎的.

.net wpf border

7
推荐指数
2
解决办法
3万
查看次数

在Python中,如何创建一个持续到下一次运行的临时文件?

我需要创建一个我只使用一次的文件夹,但需要在下次运行之前存在它.看起来我应该在标准库中使用tmp_file模块,但我不知道如何获得我想要的行为.

目前,我正在执行以下操作来创建目录:

randName = "temp" + str(random.randint(1000, 9999))
os.makedirs(randName)
Run Code Online (Sandbox Code Playgroud)

当我想删除目录时,我只需要查找一个带有"temp"的目录.
这似乎是一个肮脏的黑客,但我不确定目前更好的方式.

顺便说一下,我需要文件夹的原因是我启动了一个使用以下文件夹的进程:

subprocess.Popen([command], shell=True).pid
Run Code Online (Sandbox Code Playgroud)

然后退出我的脚本让其他进程完成工作.

python temporary-files

3
推荐指数
2
解决办法
7387
查看次数

我可以跳过ASP.NET菜单控件中的节点吗?

我有一个像这样的web.sitemap:

<siteMapNode url="~/Default.aspx" title="Home" description="" >
    <siteMapNode title="Node 1" description="">
        <siteMapNode url="" title="Node 1-1" description="" />
        <siteMapNode url="" title="Node 1-2" description="" />
    </siteMapNode>
    <siteMapNode title="Node 2" description="">
        <siteMapNode url="" title="Node 2-1" description="" />
        <siteMapNode url="" title="Node 2-2" description="" />
    </siteMapNode>
</siteMapNode>
Run Code Online (Sandbox Code Playgroud)

如果我使用ASP.NET菜单控件(使用StaticDisplayLevels = 2),我会得到:

| 主页| 节点1 | 节点2 |

是否有跳过"Home"并获取此菜单的属性(来自该站点地图):

| 节点1 | 节点2 |

asp.net web.sitemap

2
推荐指数
1
解决办法
2148
查看次数

Form.ShowDialog(IWin32Window)应该可以使用任何窗口句柄吗?

在使用时System.Windows.Forms.ShowDialog(IWin32Window),我是否应该能够传递一个IWin32Window代表任何窗口句柄并使其相对于该窗口是模态的?

作为Internet Explorer 7扩展的一部分,我正在尝试打开与Internet Explorer选项卡相关的窗口模式.它不是当前选中的选项卡,但我可以获得选项卡的hwnd.但是,当我将它传递给ShowDialog时,我的表单会显示出来,但它不是关于任何形式的模态:我仍然可以在Internet Explorer中执行操作,包括在应该是所有者的选项卡中.我的表单显示在Internet Explorer窗口上方并且保持在顶部,因此它不像它只是作为普通表单打开,但它不是正确的模态.

使用Spy ++,我可以找到我的表单,并且正确设置了它的所有者句柄.

这是否意味着出了问题,或者我做错了什么?如何正确地模态我的表单?

仅供参考,我正在使用这个包装类来创建IWin32Window一个hwnd(感谢Ryan!):

/// <summary>
/// Wrapper class so that we can return an IWin32Window given a hwnd
/// </summary>
public class WindowWrapper : System.Windows.Forms.IWin32Window
{
    public WindowWrapper(IntPtr handle)
    {
        _hwnd = handle;
    }

    public IntPtr Handle
    {
        get { return _hwnd; }
    }

    private IntPtr _hwnd;
}
Run Code Online (Sandbox Code Playgroud)

更新:使用Internet Explorer 7和.NET 2.0

更新:使用Spy ++和它暴露的句柄玩一些,我发现如果我使用不同的hwnd话,我可以使我的窗口模态到选项卡:

我正在使用IWebBrowser2.HWND dochwnd …

.net c# bho modal-dialog winforms

2
推荐指数
1
解决办法
8073
查看次数