小编Isu*_*uru的帖子

只检查一个ToolStripMenuItem

我有一个ToolStrip多个ToolStripDropDownButtons,每个都有一套DropDownItems.

当用户单击DropDownItem时,将显示复选标记.

在此输入图像描述

默认情况下,可以单击多个项目,因此会出现多个复选标记.

在此输入图像描述

我要做的是当用户点击一个DropDownItem时,应该取消选中其他已检查的项目.换句话说,DropDown列表中应始终只有一个已检查项.

我已经讨论了一段时间,但我无法弄清楚如何保留当前检查的项目,同时取消选中其他项目.

下面是我现在的代码.

private void subietm1ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            UncheckOtherToolStripMenuItems(sender);
        }

        public void UncheckOtherToolStripMenuItems(object selectedMenuItem)
        {
            List<ToolStripDropDownButton> dropdownButtons = new List<ToolStripDropDownButton>();
            foreach (ToolStripItem item in toolStrip1.Items)
            {
                if (item is ToolStripDropDownButton)
                {
                    dropdownButtons.Add((ToolStripDropDownButton)item);
                }
            }

            foreach (ToolStripDropDownButton btn in dropdownButtons)
            {
                foreach (ToolStripMenuItem d in btn.DropDownItems)
                {
                    if (d.Checked)
                        d.CheckState = CheckState.Unchecked;
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

如果有人能够对此有所了解,或者告诉我一个简单的方法,我将不胜感激.

谢谢.

toolstripitem toolstrip checked winforms toolstripdropdown

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

包含一个Jar文件的属性文件

我写了一个小应用程序.我已将数据库特定信息放在属性文件中.

db.url=jdbc:mysql://localhost:3306/librarydb
db.user=root
db.passwd=pas$w0rd
Run Code Online (Sandbox Code Playgroud)

当我构建应用程序以获取可执行jar文件时,属性文件包含在其中.将这些信息放在属性文件中的全部目的是允许用户更改这些信息,但这使得它变得不可能.

如何包含不包含jar文件的属性文件?有点像你在.NET应用程序中使用AppSettings文件.

我是Java的新手,所以如果你能把它分解为一系列步骤我会很感激.

谢谢.

编辑:

这就是我从程序中的属性文件中获取值的方法.

public class DatabaseHandler {

    public static Connection connectToDb() {
        Connection con = null;
        Properties props = new Properties();
        InputStream in = null;

        try {
            in = DatabaseHandler.class.getResourceAsStream("database.properties");
            props.load(in);
            in.close();

            String url = props.getProperty("db.url");
            String user = props.getProperty("db.user");
            String password = props.getProperty("db.passwd");

            con = DriverManager.getConnection(url, user, password);
        } catch (Exception ex) {        
            Logger.getLogger(DatabaseHandler.class.getName()).log(Level.SEVERE, null, ex); 
        }
            return con;
    }

}
Run Code Online (Sandbox Code Playgroud)

java database executable-jar properties-file

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

在NSUserDefaults中保存一个元组

我正在使用一个元组来存储这样的东西.

var accessLavels: (hasInventoryAccess: Bool, hasPayrolAccess: Bool)
accessLavels = (hasInventoryAccess: true, hasPayrolAccess: false)
Run Code Online (Sandbox Code Playgroud)

现在我要保存它NSUserDefaults.

NSUserDefaults.standardUserDefaults().setValue(accessLavels, forKey: "AccessLevelKey")
NSUserDefaults.standardUserDefaults().synchronize()
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误.

类型'(hasInventoryAccess:Bool,hasPayrolAccess:Bool)'不符合协议'AnyObject'

我该如何解决这个问题?如果它不可能,那么欢迎任何其他保存元组的建议.

谢谢.

tuples nsuserdefaults ios swift ios8

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

类"GTMHTTPUploadFetcher"的重复接口定义

我计划在Swift项目中使用Google Drive API.我正在尝试通过CocoaPods(v0.39.0)添加Drive SDK.下面是我的Podfile.

platform :ios, '8.0'
use_frameworks!

pod 'Google-API-Client/Drive'
Run Code Online (Sandbox Code Playgroud)

use_frameworks!添加了标志,以便CocoaPods可以将Objective-C pod转换为Swift框架而不是静态库.

Pod安装成功.但是,当我构建项目时,我收到以下错误.

类"GTMHTTPUploadFetcher"的重复接口定义

删除DerivedData文件夹并清理项目不起作用.

我也试过没有添加use_frameworks!,然后通过桥接头方式添加库.这没有问题.事情是我所有其他依赖项工作与它打开.不幸的是,CocoaPods 支持仅针对某些pod 播放该标志.

是否有解决此问题的解决方法?


正如Google的文档中所述,Google工程师据称会监控使用google-drive-sdk标记的问题,所以我希望至少他们会看到这个问题并尽快解决.

ios cocoapods google-drive-api swift

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

Podfile 包含框架或静态库目标,Podfile 不包含主机目标

我最近继承了一个 iOS 项目,它有框架并使用 CocoaPods。我正在尝试复制此设置,以便更好地理解。

它有两个框架(作为 Xcode 项目)命名 RaterCommonRaterAPIKit.

这是它的最小化版本 Podfile(我删除了不必要的部分)。

platform :ios, '10.0'

inhibit_all_warnings!
use_frameworks!

workspace 'Rater'

target :Rater do
    # various pods
end

target :RaterCommon do
    project 'Libraries/RaterCommon/RaterCommon.xcodeproj'
end

target :RaterAPIKit do
    project 'Libraries/RaterAPIKit/RaterAPIKit.xcodeproj'
end
Run Code Online (Sandbox Code Playgroud)

运行时 pod install,我收到此警告。

Podfile 包含框架或静态库目标(RaterCommon、RaterAPIKit),Podfile 不包含主机目标(嵌入框架的目标)。

而且我也无法将这些框架导入到我的主项目的源中。即使在 Xcode 中的链接框架和库以及嵌入式二进制文件中添加它们之后。它说没有这样的模块。

xcode frameworks ios cocoapods

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

Objective C接口,委托和协议

所以我试图围绕Objctive-C接口,代理和协议.所以我有一个问题:

委托是否必须在单独的文件中,或者它是否是您班级中定义的方法?

协议就像java接口吗?这是我理解它的方式,如果你使用这个协议它基本上让你实现方法.

我仍然对界面感到困惑.我很确定它们与java中的接口没有任何相似之处.也许它只是一个将在类中实现的变量声明.

objective-c ios

6
推荐指数
2
解决办法
8445
查看次数

如何使Tab页面的宽度适合TabControl的宽度

我有一个带有两个标签页的TabControl.

在此输入图像描述

如何使标签页适合TabControl的宽度,如下面的屏幕截图所示.

在此输入图像描述

我尝试使用以下代码行,但它也不起作用.

tabControl1.SizeMode = TabSizeMode.FillToRight;
Run Code Online (Sandbox Code Playgroud)

c# tabcontrol tabpage width

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

从更新中排除窗格

我用Cocoapods.我对第三方库进行了一些更改,如果我运行pod update,所有这些更改都将被替换.跑步pod install做同样的事情.

有没有办法排除pod更新?或者一种安装单个pod而不影响其他pod的方法?

ios cocoapods

6
推荐指数
3
解决办法
2950
查看次数

尤里卡表单库响应行的文本字段完成编辑?

我们正在评估 Eureka Forms,并创建了一个带有几个 FieldRows 的简单表单。我看到如何从表单中获取所有值,以及如何使用 onChange()(逐个字符地)更改任何行时如何响应,但对我来说如何响应字段的编辑完全完成,而不是随着每个字符的输入而完成。

在普通的文本字段中,我们可以将视图控制器或 tableview 的单元格设置为文本字段的委托并响应 textField:didFinishEditing: 并在那里处理它。

如何使用 Eureka Forms 字段行做到这一点?

谢谢

ios swift swift2 eureka-forms

6
推荐指数
2
解决办法
1380
查看次数

如何用Realm编写更好的数据访问层

我一直在一些小项目中使用Realm,我非常喜欢它.我希望继续在更大的项目中使用它,我正在寻找更好的结构我的数据访问层.

我遇到了这个类似的问题,并试图建立我在那里找到的信息.在那里讨论的方法是DAO模式,所以我给了它一个镜头.

这是我的模特课.

class Chat: Object {
    dynamic var id: String = ""
    dynamic var createdAt: Date = Date()
    dynamic var creatorId: String = ""
    dynamic var title: String?
    let chatMessages = List<ChatMessage>()

    override static func primaryKey() -> String? {
        return "id"
    }

    convenience init(fromJSON json: JSON) {
        self.init()
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我创建了一个包含ChatDAOProtocol所有方便助手方法.

protocol ChatDAOProtocol {
    func addMessage(_ message: ChatMessage)
    func getChatThumbnail() -> UIImage
    func getParticipants(includingMe: Bool) -> [Participant]?
    static func getChat(fromId id: String) -> …
Run Code Online (Sandbox Code Playgroud)

dao data-access-layer realm ios swift

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