小编Tes*_*101的帖子

设置文件夹浏览器对话框开始位

有没有办法将文件夹浏览器对话框的初始目录设置为非特殊文件夹?这就是我目前正在使用的

fdbLocation.RootFolder = Environment.SpecialFolder.Desktop;
Run Code Online (Sandbox Code Playgroud) 但我想使用我存储在字符串中的路径
fdbLocation.RootFolder = myFolder;
Run Code Online (Sandbox Code Playgroud)这会导致错误"无法将'字符串'转换为'System.Environment.SpecialFolder'".

c#

109
推荐指数
4
解决办法
14万
查看次数

如何在两个片段之间切换,而不是每次都重新创建片段?

我正在开发一个Android应用程序,它使用导航抽屉在两个片段之间切换.但是,每次切换时,片段都会被完全重新创建.

这是我主要活动的代码.

/* The click listener for ListView in the navigation drawer */
private class DrawerItemClickListener implements ListView.OnItemClickListener {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        selectItem(position);
    }
}

private void selectItem(int position) {
    android.support.v4.app.Fragment fragment;
    String tag;
    android.support.v4.app.FragmentManager; fragmentManager = getSupportFragmentManager();

    switch(position) {
        case 0:
            if(fragmentManager.findFragmentByTag("one") != null) {
                fragment = fragmentManager.findFragmentByTag("one");
            } else {
                fragment = new OneFragment();
            }
            tag = "one";
            break;
        case 1:
            if(fragmentManager.findFragmentByTag("two") != null) {
                fragment = fragmentManager.findFragmentByTag("two");
            } …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

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

在数据库中查找最接近的数值

我需要找到一个select语句,它将返回一个与我的输入完全匹配的记录,或者如果找不到完全匹配则返回最接近的匹配.

到目前为止,这是我的选择声明.

SELECT * FROM [myTable] 
WHERE Name = 'Test' AND Size = 2 AND PType = 'p' 
ORDER BY Area DESC
Run Code Online (Sandbox Code Playgroud)

我需要做的是找到与'Area'字段最接近的匹配,所以如果我的输入是1.125并且数据库包含2,1.5,1和.5,则查询将返回包含1的记录.

我的SQL技能非常有限,所以任何帮助都会受到赞赏.

sql

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

比较值时使用NOT或<>更好吗?

在比较VBScript中的值时,使用NOT或使用<>是否更好?
这是:


If NOT value1 = value2 Then
Run Code Online (Sandbox Code Playgroud)

或这个:


If value1 <> value2 Then
Run Code Online (Sandbox Code Playgroud)

更好?

编辑:这是我的反驳.
在逻辑上否定布尔值时,您将使用NOT运算符,因此这是正确的:


 If NOT boolValue1 Then
Run Code Online (Sandbox Code Playgroud)

当在第一个例子的情况下进行比较时,返回一个布尔值.要么值等于True,要么它们不是False.因此,使用NOT运算符是合适的,因为您在逻辑上否定了布尔值.

为了便于阅读,将比较放在括号中可能会有所帮助.

vbscript

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

泡沫事件的首选方式是什么?

我有三个对象,ObjectA有一个ObjectB,ObjectB有一个ObjectC.当ObjectC触发事件时,我需要ObjectA来了解它,所以这就是我所做的......

public delegate void EventFiredEventHandler();

public class ObjectA
{
    ObjectB objB;

    public ObjectA()
    {
        objB = new ObjectB();
        objB.EventFired += new EventFiredEventHandler(objB_EventFired);
    }

    private void objB_EventFired()
    {
        //Handle the event.
    }
}

public class ObjectB
{
    ObjectC objC;

    public ObjectB()
    {
        objC = new ObjectC();
        objC.EventFired += new EventFiredEventHandler(objC_EventFired);
        objC.FireEvent();
    }

    public event EventFiredEventHandler EventFired;
    protected void OnEventFired()
    {
        if(EventFired != null)
        {
            EventFired();
        }
    }

    private void objC_EventFired()
    {
            //objC fired an event, bubble it up.
        OnEventFired();
    }
} …
Run Code Online (Sandbox Code Playgroud)

c# events event-bubbling

16
推荐指数
2
解决办法
7246
查看次数

VBScript中的重载构造函数

我找到了一种在VBScript中扩展类的方法,但有没有办法传入参数或重载构造函数?我目前正在使用Init函数来初始化属性,但是我希望能够在创建对象时执行此操作.
这是我的示例类:

Class Test
    Private strText

    Public Property Get Text
        Text = strText
    End Property

    Public Property Let Text(strIn)
        strText = strIn
    End Property

    Private Sub Class_Initialize()  
        Init
    End Sub  

    Private Sub Class_Terminate()   

    End Sub 

    Private Function Init
        strText = "Start Text"
    End Function    
End Class
Run Code Online (Sandbox Code Playgroud)

我创造了它

Set objTest = New Test
Run Code Online (Sandbox Code Playgroud)

但是想做这样的事情

Set objTest = New Test(strInitText)
Run Code Online (Sandbox Code Playgroud)

这是可能的,还是必须在两个setps中创建和初始化对象?

vbscript class

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

从定时器线程调用GUI线程上的方法

在我的应用程序中,我使用计时器来检查RSS提要中的更新,如果找到新项目,我会弹出一个自定义对话框来通知用户.当我手动运行检查时,一切都很好,但是当自动检查在计时器Elapsed事件中运行时,不会显示自定义对话框.

首先是这是一个线程问题?(我假设这是因为手动和自动检查都使用相同的代码).

当我运行自动检查时,是否必须从Timers Elapsed事件处理程序调用运行检查的方法?

我的自定义对话框类中是否需要执行某些操作?

编辑:这是一个winforms应用程序.

以下是代码的示例.(请不要在此代码示例中指出语法错误,这只是一个简单的示例,而不是真正的代码).

public class MainForm : System.Windows.Forms.Form
{
    //This is the object that does most of the work.
    ObjectThatDoesWork MyObjectThatDoesWork = new ObjectThatDoesWork(); 
    MyObjectThatDoesWork.NewItemsFound += new NewItemsFoundEventHandler(Found_New_Items);

    private void Found_New_Items(object sender, System.EventArgs e)
    {
        //Display custom dialog to alert user.
    }

    //Method that doesn't really exist in my class, 
    // but shows that the main form can call Update for a manual check.
    private void Button_Click(object sender, System.EventArgs e)
    {
        MyObjectThatDoesWork.Update();
    }

    //The rest of …
Run Code Online (Sandbox Code Playgroud)

c# multithreading timer

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

字典值c#

如果我们在.Net中循环它,则无法更改字典.但为什么字典中的值只读.有人有什么想法吗?为什么.Net团队决定在循环字典时不改变值.我能理解密钥是否无法改变但为什么值?此外,如果您正在使用LINQ并以Ienumerable的形式获取密钥,那么值是否可以更改?延迟加载是否可以发挥作用?

.net c#

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

我应该如何使用超类的实例构造子类?

假设我有以下代码

public class SuperClass {
    protected int super_class_value;

    public SuperClass (int value) {
        this.super_class_value = value;
    }
}

public class Subclass extends SuperClass {
    protected int subclass_value;

    public SubClass(int super_class_value, int subclass_value) {
        super(super_class_value);
        this.subclass_value = subclass_value;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,现在我希望能够将 SuperClass 对象传递给 SubClass 构造函数。我该怎么做?

public SubClass(SuperClass super_class, int subclass_value) {
    //What do I do here?
    this.subclass_value = subclass_value;
}
Run Code Online (Sandbox Code Playgroud)

基本上,我想做这样的事情......

public SubClass(SuperClass super_calss, int subclass_value) {
    super(super_class.super_class_value);
    this.subclass_value = subclass_value;
}
Run Code Online (Sandbox Code Playgroud)

但是如果 SuperClass 更复杂,我不想将每个值添加到 super() 调用中。相反,我想简单地传入一个已经存在的对象,并将其用作超类。

我想做这个...

public SubClass(SuperClass super_class, …
Run Code Online (Sandbox Code Playgroud)

java inheritance object-construction subclassing

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

从组合框中删除边框

我正在使用C#中用于显示信息的表单,但我仍然需要允许对信息进行一些操作.我真正想做的是从组合框中删除边框,这将允许我显示信息,同时还允许用户选择集合中的其他项目而不必全部显示它们.

更具体地说,我有一个4或5个电子邮件地址的列表,但我只希望一次显示一个,同时允许用户轻松选择不同的项目.我已经搜遍了所有但是找不到一种简单的方法来修改组合框的边框,并且边框少的组合框将很好地满足我的需求.

我刚开始使用C#所以我还在学习,也许我错过了一些东西.看起来这应该比结果要容易得多,希望有人可以帮助我.

编辑:
表单使用标签来显示信息,因此在它的中间有一个组合框使它看起来很糟糕.基本上我正在寻找的是一个链接,点击时打开默认的电子邮件程序并填写地址,但我想要下拉按钮,以便可以选择备用地址.如果我不需要,我不想显示庞大的地址列表,我只想一次显示一个.像一个组合框,但没有边框.

我可能只是添加一个显示备用地址列表的按钮,但是如果我可以从组合框中删除边框并且具有我正在寻找的内容,为什么要重新发明轮子?谢谢

c# controls

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