質問編集履歴
7
NuGetをダウンロードした場所を定義
title
CHANGED
File without changes
|
body
CHANGED
@@ -152,4 +152,6 @@
|
|
152
152
|
+ subディレクトリ
|
153
153
|
+ MainForm.cs
|
154
154
|
+ (ここからコンパイルしたりしている)
|
155
|
-
```
|
155
|
+
```
|
156
|
+
|
157
|
+
※ NuGet は [ここ](https://docs.microsoft.com/ja-jp/nuget/consume-packages/install-use-packages-nuget-cli)からダウンロードしました。
|
6
追記3
title
CHANGED
File without changes
|
body
CHANGED
@@ -52,4 +52,104 @@
|
|
52
52
|
皆様ありがとうございます。
|
53
53
|
今すぐには試せない環境で、調べてみるとDLLのアクセスが必要であることがわかったため、その使い方を一旦学んでから今回の質問を閉じる事にします。
|
54
54
|
|
55
|
-
(今回初めてNuGetと言うものを使いましたのでちょっと手間取っています……)
|
55
|
+
(今回初めてNuGetと言うものを使いましたのでちょっと手間取っています……)
|
56
|
+
|
57
|
+
----------------
|
58
|
+
|
59
|
+
[追記3]
|
60
|
+
|
61
|
+
CommonSaveFileDialogをやってみました。
|
62
|
+
|
63
|
+
NuGetで 適当なところに Microsoft.WindowsAPICodePack.dll をDLし、
|
64
|
+
net48ディレクトリに入っている Microsoft.WindowsAPICodePack.dll を
|
65
|
+
今回のプロジェクトの、VC#等でいうReleaseディレクトリ内に相当する場所( binディレクトリ ) に配置。
|
66
|
+
|
67
|
+
そして、Cygwin上で
|
68
|
+
|
69
|
+
```
|
70
|
+
C:/Windows/Microsoft.NET/Framework/v4.0.30319/csc /nologo -reference:./bin/Microsoft.WindowsAPICodePack.dll /target:winexe /out:.\bin\Main.eXe .\src\main.cs .\src\sub\MainForm.cs
|
71
|
+
```
|
72
|
+
|
73
|
+
とコンパイルしました。
|
74
|
+
|
75
|
+
コードは、
|
76
|
+
|
77
|
+
```C#
|
78
|
+
using System;
|
79
|
+
using System.Windows.Forms;
|
80
|
+
|
81
|
+
using Sample.Forms;
|
82
|
+
|
83
|
+
using Microsoft.WindowsAPICodePack;
|
84
|
+
using Microsoft.WindowsAPICodePack.Dialogs;
|
85
|
+
|
86
|
+
namespace Sample{
|
87
|
+
class EntryPoint{
|
88
|
+
[STAThread]
|
89
|
+
static void Main( string[] args ){
|
90
|
+
try{
|
91
|
+
// メインウィンドウの生成と起動
|
92
|
+
Application.Run( new MainForm( args ) );
|
93
|
+
|
94
|
+
CommonSaveFileDialog dialog = new CommonSaveFileDialog();
|
95
|
+
|
96
|
+
// ここで処理する
|
97
|
+
|
98
|
+
}catch( System.Exception err ){
|
99
|
+
MessageBox.Show( err.Message, "例外発生" );
|
100
|
+
}
|
101
|
+
}
|
102
|
+
}
|
103
|
+
}
|
104
|
+
```
|
105
|
+
|
106
|
+
としました。
|
107
|
+
|
108
|
+
すると、
|
109
|
+
|
110
|
+
```
|
111
|
+
src\main.cs(17,17): error CS0246: 型または名前空間名 'CommonSaveFileDialog' が見つかりませんでした。using
|
112
|
+
ディレクティブまたはアセンブリ参照が不足しています。
|
113
|
+
src\main.cs(17,51): error CS0246: 型または名前空間名 'CommonSaveFileDialog' が見つかりませんでした。using
|
114
|
+
ディレクティブまたはアセンブリ参照が不足しています。
|
115
|
+
make: *** [makefile:69: .\bin\Main.eXe] Error 1
|
116
|
+
```
|
117
|
+
|
118
|
+
とエラーを吐きます。
|
119
|
+
|
120
|
+
ちなみに sub\MainForm.cs に書こうとすると usingディレクティブを追加しただけで下記のエラーを吐きます。
|
121
|
+
|
122
|
+
```
|
123
|
+
src\sub\MainForm.cs(8,17): error CS0234: 型または名前空間名 'WindowsAPICodePack' は名前空間 'Microsoft'
|
124
|
+
に存在しません。アセンブリ参照が不足しています。
|
125
|
+
make: *** [makefile:72: .\bin\Testor.eXe] Error 1
|
126
|
+
```
|
127
|
+
と出ます。
|
128
|
+
|
129
|
+
DLLのファイル名自体に "." を含んでいるためかと思い、
|
130
|
+
./bin/WindowsAPICodePack.dll
|
131
|
+
のようにしてみましたが変わらず。
|
132
|
+
|
133
|
+
"/" がスイッチと解釈されているのかと思い、(コンパイル時に) -reference:.\bin\WindowsAPICodePack.dll のようにしてみましたが、
|
134
|
+
それでも変わらず。
|
135
|
+
|
136
|
+
メッセージ的には「名前空間が違う」か「(usingしている)名前空間が足りない」的な意味でしょうけど、
|
137
|
+
「WindowsAPICodePack CommonSaveFileDialog」と検索しても
|
138
|
+
|
139
|
+
```
|
140
|
+
using Microsoft.WindowsAPICodePack;
|
141
|
+
```
|
142
|
+
|
143
|
+
を追加しろ…とだけなので……
|
144
|
+
|
145
|
+
[構成]
|
146
|
+
```
|
147
|
+
+ binディレクトリ
|
148
|
+
+ WindowsAPICodePack.dll
|
149
|
+
+ (ここに実行ファイルが生成される)
|
150
|
+
+ srcディレクトリ
|
151
|
+
+ main.cs
|
152
|
+
+ subディレクトリ
|
153
|
+
+ MainForm.cs
|
154
|
+
+ (ここからコンパイルしたりしている)
|
155
|
+
```
|
5
追記3
title
CHANGED
File without changes
|
body
CHANGED
@@ -44,4 +44,12 @@
|
|
44
44
|
|
45
45
|
一応、別途用意すること自体は頭の片隅にありましたが、ユーザー目線で考えると煩わしいかなぁと思ったので今回の質問に至りました。
|
46
46
|
|
47
|
-
(説明下手ですみません…)
|
47
|
+
(説明下手ですみません…)
|
48
|
+
|
49
|
+
--------------
|
50
|
+
|
51
|
+
[追記3]
|
52
|
+
皆様ありがとうございます。
|
53
|
+
今すぐには試せない環境で、調べてみるとDLLのアクセスが必要であることがわかったため、その使い方を一旦学んでから今回の質問を閉じる事にします。
|
54
|
+
|
55
|
+
(今回初めてNuGetと言うものを使いましたのでちょっと手間取っています……)
|
4
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
C#のSystem.Windows.Forms.SaveFileDialogを使ってテキストファイルを保存するときに、
|
4
4
|
Windows付属のメモ帳のような『文字コード』をユーザが指定できるようにしたいのですが、これは可能でしょうか。
|
5
5
|
|
6
|
-
メモリ等の関係上、VC#を入れることができず、csc.exeで直接コンパイルしています。
|
6
|
+
メモリ等の関係上、VC#を入れることができず、csc.exeで直接コンパイルしています。(オンラインすらできない…)
|
7
7
|
|
8
8
|
なのでCommonFileDialog等は使えません。
|
9
9
|
|
3
title
CHANGED
File without changes
|
body
CHANGED
@@ -21,6 +21,7 @@
|
|
21
21
|
言語: C#
|
22
22
|
.NET Framework: 4.0
|
23
23
|
コンパイラ: csc
|
24
|
+
**種類: WinForm**
|
24
25
|
|
25
26
|
-----
|
26
27
|
|
2
title
CHANGED
File without changes
|
body
CHANGED
@@ -35,4 +35,12 @@
|
|
35
35
|
|
36
36
|
公式でプロパティを調べてもそれらしきものすら見当たらず…
|
37
37
|
|
38
|
-
あのコンボボックスとかの部分でユーザに選択させたいのですが、これって無理でしょうか?
|
38
|
+
あのコンボボックスとかの部分でユーザに選択させたいのですが、これって無理でしょうか?
|
39
|
+
|
40
|
+
-----
|
41
|
+
|
42
|
+
[追記2]
|
43
|
+
|
44
|
+
一応、別途用意すること自体は頭の片隅にありましたが、ユーザー目線で考えると煩わしいかなぁと思ったので今回の質問に至りました。
|
45
|
+
|
46
|
+
(説明下手ですみません…)
|
1
title
CHANGED
File without changes
|
body
CHANGED
@@ -20,4 +20,19 @@
|
|
20
20
|
[情報]
|
21
21
|
言語: C#
|
22
22
|
.NET Framework: 4.0
|
23
|
-
コンパイラ: csc
|
23
|
+
コンパイラ: csc
|
24
|
+
|
25
|
+
-----
|
26
|
+
|
27
|
+
[追記1]
|
28
|
+
|
29
|
+
失礼しました。
|
30
|
+
|
31
|
+
イメージとしては[こちら](https://atmarkit.itmedia.co.jp/ait/spv/2009/11/news016.html)にある、画像の『文字コード(E):』の部分です。
|
32
|
+
|
33
|
+
C#のSaveFileDialogを使ってみると文字コード指定できるComboxがありません。
|
34
|
+
(まあ、WinAPIでもそうだけど)
|
35
|
+
|
36
|
+
公式でプロパティを調べてもそれらしきものすら見当たらず…
|
37
|
+
|
38
|
+
あのコンボボックスとかの部分でユーザに選択させたいのですが、これって無理でしょうか?
|