• ベストアンサー

Treeviewのnodeについて

お世話になります。 C#2005で開発をしております。 Treeviewに関してのご質問をさせていただきます。 Treeviewのnodeの一つを、enable=falseにしたいと考えております。 しかしながら、Treeviewにプロパティがありません。 enabel=falseに相当するプロパティがあれば、ご教示いただければ幸いに存じます。 現状は、Treeviewのnodeの一つの文字色を変更する方法で考えておりますが、 何かよい方法があればと思いご質問させていただきました。 恐れ入りますが、ご回答いただければ幸いに存じます。

noname#164045
noname#164045

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

> Treeviewのnodeの一つを、enable=falseにしたいと考えております。 > しかしながら、Treeviewにプロパティがありません。 TreeNodeにも該当するプロパティはありません。

noname#164045
質問者

お礼

ご回答ありがとうございます。 ツリーの色替で対応させていただきました。 ありがとうございました。

関連するQ&A

  • delphi、treeviewについて再び

    お世話になっております。 たびたびtreeviewがらみなんですが、 treeview上で、nodeのテキストを変更可能にした時、 OnEditedで該当ノードのテキストを取得しようとすると、 やり方が悪いのか、どうしても変更前のテキストしか取得できません。 変更後のテキストを取得するにはどうしたらいいのでしょう?

  • DelphiのTreeViewでの+ボタンの出し方

    WindowsXP、Delphi2009で開発しています。 TTreeViewのAdvancedCustomDrawItemで下記の様に動的にノードの描画を行っていますが、ノードを展開・折りたたみする際に使う+ボタンが表示できなくて困っています。 +ボタンを表示させる方法が分かる方、ご教示願います。 ------------------------------------------------------------ procedure TForm3.TreeView1AdvancedCustomDrawItem(Sender: TCustomTreeView; Node: TTreeNode; State: TCustomDrawState; Stage: TCustomDrawStage; var PaintImages, DefaultDraw: Boolean); var Rect :TRect; begin defaultdraw := false; Rect := Node.DisplayRect(True); if Node.Selected = true then begin Sender.Canvas.Font.Color := clWhite; end else begin if Copy(Node.Text,pos('\',Node.Text) + 1, length(Node.Text)) = 'False' then begin Sender.Canvas.Font.Color := clWindowText; end else begin Sender.Canvas.Font.Color := clRed; end; end; Sender.Canvas.TextOut(Rect.Left,Rect.Top,Copy(Node.Text,1,pos(',',Node.Text) - 1)); end; ------------------------------------------------------------

  • TreeViewの質問です(access)

    <環境>access2007 vbで開発したシステムをaccessに乗せ換えています。 そこで質問が2点あります。 (1)定数を読み取るには?  TreeViewのMouseMoveイベントで If Button = vbLeftButton Then  としたいのですが、コンパイルエラーとなります。エラー:変数が定義されていません。  「vbLeftButton 」の定数を読み取るにはどうすればいいのでしょうか?  参照設定でしょうか? (2)TreeViewのプロパティが参照できない  TreeViewコントロールで以下のプロパティが参照できません。  こちらも参照設定でしょうか?  ・TreeViewオブジェクト.DragIcon  ・TreeViewオブジェクト.Drag  ・TreeViewオブジェクト.DropHighlight よろしくお願いします。

  • VS Treeview のデザイン変更

    お世話になります Visual Studio 2010 C++/CLIで開発していおります。 Treeviewの展開時のマークを+から△に変えたいのですが、 プロパティのどの項目で変えるのか教えていただけないでしょうか。

  • TreeViewのCheckBoxについて

    はじめまして。 以下の環境で開発しています。 Visual studio 2005 Version 8.0.50727.867 (vsvista.050727-8600) .NET Framework Version 2.0.50727 SP2 Visual Basic 2005 TreeView(二階層限定)にCheckBoxを表示させて親ノードのCheckBoxをTrue/Falseすると その子ノードのCheckBoxも全部合わせてTrue/Falseするものを作ろうとしていますが、 CheckBoxクリック時のイベントが拾えません。 どなたかご存知の方がおられましたらご教授ください。 通常のCheckBoxであればPostBackが発生するのですが、TreeViewのCheckBoxにはそのような イベントがありません。 TreeNodeCheckChangedイベントはあるのですが、True/Falseが切り替わったあとにTreeView のラベル選択したときに発生する中途半端なイベントなので使えません。 http://msdn.microsoft.com/ja-jp/library/system.windows.forms.treeview.aftercheck(VS.80).aspx のヘルプからAfterCheckイベントを調べて試したのですが、 Imports System.Windows.Forms Public Event AfterCheck As TreeViewEventHandler を定義して、以下の関数を書いてみたのですが、 Private Sub node_AfterCheck(ByVal sender As Object, ByVal e As TreeViewEventArgs) Handles TreeView1.AfterCheck ~中身~ End Sub 「イベントAfterCheckが見つかりません。」とコンパイルエラーとなります。 客先の開発環境なのでバージョンアップ等はできません。 どなたかCheckBoxクリック時のイベントの拾い方をご存知の方がおられましたらご教授お願いします。

  • TreeViewのスクロール制御

    VB6でTreeViewコントロールのスクロールをプログラム側から制御する物を作っているのですが分からなくて困っています。 TreeViewでNodeが増えれば自動的に表示されるスクロールバーは表示をしないように「Scrollプロバティ」にFalseを入力してSendMessageで下記の方法で行ったのですがスクロールしません。 Private Sub Command1_Click() Call SendMessage(TreeView1.hwnd, WM_VSCROLL, MAKEWPARAM(SB_THUMBPOSITION, sPos), 0) End Sub Private Function MAKEWPARAM(LOWWORD As Long, HIWORD As Long) As Long MAKEWPARAM = (LOWWORD And &HFFFF&) Or (HIWORD * &H10000) End Function 「Scrollプロパティ」にTrueを設定すると問題なくできるのですが、どなたか分かる方がいましたら宜しくお願い致します。

  • TreeViewについて

    いつも大変お世話になっております。福島です。 TreeViewのことで教えて頂きたいのですが・・・ 社員登録で3階層(部・課・社員)のツリー構造をなす TreeViewを作成しましたが、1社員の情報を変更したときに 状態を反映するためにTreeView全体を消去してから書き直しています。 (例えば)課や部を移動したとき しかし表示する数が多くなってきた為に再構築に非常に時間が かかってしまい実用的でなくなってしまいました。 あるノードの下だけ変更(削除)する方法はありますか? 今は、「treeView.Nodes.Clear」を使用して全体を削除して 再度ツリーを作成しています。 aNode(部) bNode(課) cNode(社員) のようになっています。 宜しくお願い申し上げます。 Windows2000SP2 + VB6.0SP4

  • TreeViewに重複する値をセット

    VB2005Expressで開発しています。 TreeViewにデータテーブルの値をセットして表示しています。 セットする値に重複する値がある場合、ツリーの構造が崩れてしまいます。左図のようにしたいのですが、右図のようになってしまいます。 あ あ |-い |-い | | | | | -う | -う お | -え |-い お | | | -え ツリーの値に非表示のキーを持たせる等、何か対応法をご存知の方が いらっしゃいましたら教えて下さい。下記がPGMです。 '処理内容:TreeViewにデータテーブルの値をセット Private Function fncTreeViewSet() As Boolean Dim dTbl As DataTable Dim Node As TreeNode Dim intMenuNo As Integer Dim strMenuName1 As String Dim strMenuName2 As String Dim strMenuName3 As String Dim strMenuName4 As String Dim strMenuName5 As String Dim i As Integer Node = TreeView1.SelectedNode dTbl = dsDataSet.Tables("Mメニュー") For i = 0 To dTbl.Rows.Count() - 1 intMenuNo = 0 strMenuName1 = "" strMenuName2 = "" strMenuName3 = "" strMenuName4 = "" strMenuName5 = "" strMenuName1 = Trim$(dTbl.Rows(i)("階層1")) intMenuNo = dTbl.Rows(i)("工程番号") strMenuName2 = Trim$(dTbl.Rows(i)("階層2").ToString) strMenuName3 = Trim$(dTbl.Rows(i)("階層3").ToString) strMenuName4 = Trim$(dTbl.Rows(i)("階層4").ToString) strMenuName5 = Trim$(dTbl.Rows(i)("階層5").ToString) If strMenuName1 = "" Then Else If strMenuName2 = "" Then TreeView1.Nodes.Add(strMenuName1) '階層1をセット Else If strMenuName3 = "" Then fncSerchNode(strMenuName1) TreeView1.SelectedNode.Nodes.Add(strMenuName2) '階層2をセット Else If strMenuName4 = "" Then fncSerchNode(strMenuName2) TreeView1.SelectedNode.Nodes.Add(strMenuName3) '階層3をセット Else If strMenuName5 = "" Then fncSerchNode(strMenuName3) TreeView1.SelectedNode.Nodes.Add(strMenuName4) '階層4をセット Else fncSerchNode(strMenuName4) TreeView1.SelectedNode.Nodes.Add(strMenuName5) End If End If End If End If End If Next TreeView1.SelectedNode = Nothing End Function '処理内容:指定ノード選択 Private Function fncSerchNode(ByVal strMenuName As String) As Boolean Dim Node As TreeNode For Each Node In fncGetAllNodes(TreeView1.Nodes) If Node.Text = strMenuName Then TreeView1.SelectedNode = Node Exit For End If Next End Function '処理内容:子ノードも含んだすべてのノードを取得 Private Function fncGetAllNodes(ByVal Nodes As TreeNodeCollection) As ArrayList Dim Ar As New ArrayList Dim Node As TreeNode For Each Node In Nodes Ar.Add(Node) If Node.GetNodeCount(False) > 0 Then Ar.AddRange(fncGetAllNodes(Node.Nodes)) End If Next Return Ar End Function

  • JavaFXのTreeViewについて

    何年か振りでJavaの勉強を再開しました。JavaFXでウィンドウズのエクスプローラみたいなものを作ってみようと始めたのですが、TreeViewにTreeItemが表示されません。 1.まずFXMLは下記の通りです。 <AnchorPane id="AnchorPane" prefHeight="484.0" prefWidth="857.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="km_immagine.FXMLDocumentController"> <children> <BorderPane prefHeight="484.0" prefWidth="857.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> <bottom> <Label prefWidth="857.0" text="Label" /> </bottom> <center> <TableView prefHeight="460.0" prefWidth="633.0"> <columns> <TableColumn prefWidth="75.0" text="列X" /> <TableColumn prefWidth="75.0" text="列X" /> </columns> </TableView> </center> <left> <TreeView fx:id="treeView" prefHeight="200.0" prefWidth="200.0" /> </left> <top> <MenuBar> <menus> <Menu mnemonicParsing="false" text="ファイル"> <items> <MenuItem mnemonicParsing="false" text="閉じる" /> </items> </Menu> <Menu mnemonicParsing="false" text="編集"> <items> <MenuItem mnemonicParsing="false" text="削除" /> </items> </Menu> <Menu mnemonicParsing="false" text="ヘルプ"> <items> <MenuItem mnemonicParsing="false" text="バージョン情報" /> </items> </Menu> </menus> </MenuBar> </top> </BorderPane> </children> </AnchorPane> 2.それに対するコントローラは下記の通りです。 public class FXMLDocumentController implements Initializable { @FXML private TreeView<String> treeView; @Override public void initialize(URL url, ResourceBundle rb) { TreeItem<String> rootItem = new TreeItem<>("root"); TreeItem<String> children01 = new TreeItem<>("children01"); rootItem.getChildren().add(children01); this.treeView = new TreeView<>(rootItem); } } 3.で、下記のメインクラスから表示させても、TreeViewに何も表示されません。 public class KM_Immagine extends Application { @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(args); } } メインクラスでAnchorPaneにTreeViewを追加し、それをSceneに追加する方法でなら、TreeItemが表示出来ます。 私のやり方は、何か初歩的なミスをしていると思うのですが、ネットで色々調べても分かりませんでした。 どなたか、ご教示願います。

  • ExcelVBA EnableプロパティがFalseの時に文字の色を変えたくない

    ユーザーフォーム上のテキストボックスの内容を変えたくないときにEnableプロパティをFalseにすると、文字の色が灰色に変わってしまいますよね。 色を変えたくないので防ぐ方法はないでしょうか。 また、文字を変更させない方法で、ほかによい方法はないでしょうか。

専門家に質問してみよう