小编Fad*_*lMS的帖子

SwingUtilities.invokeLater

我的问题与此有关SwingUtilities.invokeLater.我应该什么时候使用它?每次需要更新GUI组件时是否必须使用?它到底是做什么的?是否有替代品,因为它听起来不直观,并添加看似不必要的代码?

java swing multithreading awt event-dispatch-thread

52
推荐指数
4
解决办法
3万
查看次数

拖放winform控件

我想在winform应用程序中拖放一个控件(例如标签).我看到了一些关于拖放文本的例子,但这不是我想要的.我想让用户移动控件.任何人都可以指导我一些资源或例子吗?谢谢.

c# winforms

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

使用lambda重新排列List <T>

我需要重新排列项目列表,以便所选项目到达列表的末尾,最后一项替换前一项目,前一项目替换之前的项目,依此类推.

例如,如果我有一个包含十个项目的列表,并且所选项目位于第5位,则此项目将转到位置9,而9将替换为8然后8替换7和7替换6和6取代位置5.我设法获得了使用此代码的所需结果:

List<int> numList = new List<int>();
int selectedNum = 5;//Selected at runtime
for (int i = 0; i < 10; i++) numList.Add(i);
int numListCount = numList.Count-1;
int tempNum = numList[numListCount];
List<int> tempList = numList.GetRange(selectedNum + 1,(numList.Count-selectedNum) - 2);
numList[numListCount] = selectedNum;
numList.RemoveRange(selectedNum, (numList.Count-selectedNum)-1);
numList.InsertRange(selectedNum, tempList);
numList.Insert(numListCount - 1, tempNum);
Run Code Online (Sandbox Code Playgroud)

结果是:

0,1,2,3,4,6,7,8,9,5

我确定我的代码很丑陋且效率低下:我有两个问题:

  1. 是否可以使用Lambda获得相同的结果?如果没有,那么
  2. 如何优化我的代码.谢谢.

c# lambda list

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

文件夹权限:授予所有用户完全控制权限

我正在开发一个应用程序,它将一些文件存储在CommonApplicationData文件夹中.我的应用程序必须修改这些文件.我设法创建一个自定义操作,以授予fullcontrolCommonApplicationData文件夹中的应用程序文件夹的权限.但这并没有解决非管理员用户的问题.当我以用户身份登录并尝试修改其中一个文件时,我收到"拒绝访问"消息.
我怎么解决这个问题?谢谢.
这是我在自定义操作中使用的代码:

public void GetUsers()
        {
            SelectQuery sQuery = new SelectQuery("Win32_UserAccount", "Domain='" + System.Environment.UserDomainName.ToString() + "'");
            try
            {
                ManagementObjectSearcher mSearcher = new ManagementObjectSearcher(sQuery);
                foreach (ManagementObject mObject in mSearcher.Get())
                {
                    Permission(mObject["Name"].ToString());
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
        private void Permission(string user)
        {
            string directory = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
            string CompanyFolderPath = Path.Combine(directory, "naseelco\\lms2004");
            DirectoryInfo myDirectoryInfo = new DirectoryInfo(CompanyFolderPath);
            DirectorySecurity myDirectorySecurity = myDirectoryInfo.GetAccessControl();
            string User = System.Environment.UserDomainName + "\\" + user;
            myDirectorySecurity.AddAccessRule(new FileSystemAccessRule(User, FileSystemRights.FullControl, …
Run Code Online (Sandbox Code Playgroud)

c# permissions installer custom-action

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

C#中的简单字符串替换问题

我需要替换所有出现的\b<b>和所有出现\b0</b>下面的例子:

快速\ b棕色狐狸\ b0跳过\ b懒狗\ b0.
.谢谢

.net c#

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

将自定义属性添加到JTree节点

我需要在JTree节点中存储一些数据.是否可以向节点添加自定义属性来保存我的数据?

java swing jtree

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

JTree没有出现

为什么JTree没有出现?这是我的代码:

    initComponents();
    JTree treeView;
    DefaultMutableTreeNode top = new DefaultMutableTreeNode("myBooks");
    DefaultMutableTreeNode category = new DefaultMutableTreeNode("Drama");
    DefaultMutableTreeNode book1 = new DefaultMutableTreeNode("Macbeth");
    DefaultMutableTreeNode book2 = new DefaultMutableTreeNode("Hamlet");
    category.add(book1);
    category.add(book2);
    top.add(category);
    treeView = new JTree(top);
    JScrollPane pane = new JScrollPane(treeView);
    mainPanel.add(pane);
Run Code Online (Sandbox Code Playgroud)

java swing jtree

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

将不同的图标分配给JTree中的不同节点

是否可以在JTree使用中为不同的节点分配不同的图标DefaultTreeCellRenderer.setOpenIcon()?谢谢.

java swing jtree

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

如何防止LayoutManager缩小组件太多?

在BorderLayout Manager中调整大小时,如何防止GUI组件缩小?是否可以设置最小尺寸,以使组件不会缩小到最小尺寸?似乎使用setBounds不适用于布局管理器。

只是一个问题:如果我使用嵌套面板,是否可以为其分配固定位置,并让布局管理器来照顾这些面板中的组件?我试图防止GUI组件四处移动。

java layout swing awt border-layout

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

将JS变量插入html标记

我试图在html标签中插入一个JS变量,我不知道我做错了什么.电影无法加载.这是我的代码:

var moviePath = "images/main.swf";    
<script>document.write('<PARAM name="movie" value="' + moviePath + '">')</script> 
Run Code Online (Sandbox Code Playgroud)

html javascript

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

将字符串数组与另一个中的起始值进行比较

我有一个固定值的字符串数组和一个动态更改文本的richtextbox.richtextbox中的某些行以字符串数组中的值开头.我想只选择richtextbox中不以字符串数组中的值开头的行.以下代码返回richtextbox中的所有行.

string[] parts = new string[] { "Definition:", "derivation:", "derivations:"};
IEnumerable<string> lines = richTextBox1.Lines.Where(
c =>parts.Any(b=>!c.StartsWith(b)));
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何只选择不以字符串数组中的值开头的richtextbox的行?

c# linq

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