トップページtech
1001コメント292KB

WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part7

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2010/08/22(日) 21:11:53
一向に普及しないユーザーインターフェースシステム
Windows Presentation Frameworkについて語るスレ。
パワフルで柔軟すぎるのが敗因か? 正直ついていけないよね…。

Visual Studio 2010
ttp://www.microsoft.com/japan/msdn/vstudio/
Microsoft .NET Framework 4 (Web インストーラー)
http://www.microsoft.com/downloads/details.aspx?familyid=9CFB2D51-5FF4-4491-B0E5-B386F32C0992&displaylang=ja
Microsoft .NET Framework 4 (スタンドアロンインストーラー)
http://www.microsoft.com/downloads/details.aspx?familyid=0A391ABD-25C1-4FC0-919F-B21F31AB88B7&displaylang=ja

関連スレ
Microsoft Silverlight その6
ttp://pc12.2ch.net/test/read.cgi/tech/1271580489/

過去スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part6
http://hibari.2ch.net/test/read.cgi/tech/1274423236/
WPF(XAML, XBAP, .Net3.5)GUIプログラミング Part5
http://pc12.2ch.net/test/read.cgi/tech/1261879110/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
ttp://pc12.2ch.net/test/read.cgi/tech/1245384489/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
ttp://pc12.2ch.net/test/read.cgi/tech/1231506876/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング
ttp://pc11.2ch.net/test/read.cgi/tech/1211453941/
【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】
ttp://pc11.2ch.net/test/read.cgi/tech/1162950198/

コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
0282デフォルトの名無しさん2010/11/02(火) 23:18:51
WPFのTextBoxコントロールって右クリックしたときになんか変なメニューでるね。
なんで今までと同じにしないのか理解できない。
IME使わない国には分からないのかな。
0283デフォルトの名無しさん2010/11/03(水) 00:09:46
OS依存のコンテキストメニューを、自前実装のWPFがわざわざエミュレートするようなことはしない。他のコントロールもそうだろ。
0284デフォルトの名無しさん2010/11/03(水) 00:12:39
Windows以外で誰が使うんだよ
夢見すぎだ
現実に戻ってこい
0285デフォルトの名無しさん2010/11/03(水) 00:45:22
とりあえず、APIつーかネイティブな場合、どのようにしてコンテキストメニューが表示されているか知れば答えがわかるよ。
それを知っていれば、君はおかしな事を言っていた事に気づくはず。
0286デフォルトの名無しさん2010/11/03(水) 01:01:33
技術面でこうだから出来ないというのは三流の言うこと。
ユーザーの実態に合わせないからWPFはこうなった。
どうやら未来もなさそうだ。
0287デフォルトの名無しさん2010/11/03(水) 01:13:21
やっべ、WPF作った人三流らしいぜ
0288デフォルトの名無しさん2010/11/03(水) 01:54:24
>>286
自分こそが三流だと思えないとこが三流の三流たる所以
0289デフォルトの名無しさん2010/11/03(水) 02:12:26
TextBox のデフォルトコンテキストメニューに何で「すべて選択」が無いんだろ?
Ctrl+A で「すべて選択」は出来るから、キーバインドはされている。
なんか理由があるのかな?
0290デフォルトの名無しさん2010/11/03(水) 02:22:58
>>289
一流の仕事なんだから間違いない。
三流は黙っとけ。
0291デフォルトの名無しさん2010/11/03(水) 02:31:02
>>286
自分でどうにかしたらいいじゃないか。
技術的に無理か?
0292デフォルトの名無しさん2010/11/03(水) 02:37:43
Linuxがなぜ一般家庭まで普及しなかったのかを感がる時期に来ているね。
0293デフォルトの名無しさん2010/11/03(水) 02:40:11
一般家庭レベルならしょうがないな
0294デフォルトの名無しさん2010/11/03(水) 02:55:58
WPFなんだからApplicationあたりのリソースに
TextBoxのスタイルのContextMenuに満足のいくContextMenuを設定しておけよ。
もともとTextBoxのメニューなんてあんまり統一されてなかったと思うよ。
0295デフォルトの名無しさん2010/11/03(水) 08:31:05
TreeViewのイベントが複数回発生するのは仕様ですか?
0296デフォルトの名無しさん2010/11/03(水) 09:13:31
仕様です
0297デフォルトの名無しさん2010/11/03(水) 13:00:29
一億総三流時代
0298デフォルトの名無しさん2010/11/03(水) 19:05:34
このスレにあったような。
あった >>23-28
0299デフォルトの名無しさん2010/11/04(木) 21:37:50
MainWindowから Showするのに時間のかかるSubWindowを
非同期で表示するにはどうしたらよいのか、お教えください。


private void button1_Click(object sender, RoutedEventArgs e)

  Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(ShowSub));
}

private void ShowSub()
{
  SubWindow sub = new SubWindow();
  Thread.Sleep(3000);

  sub.Show();
}

こんなコードで実行すると、実行完了まで、MainWindowの操作ができなくなってしまっています。
Dispatcherの使い方が間違っているんだろう…というくらいまでは分かるのですが
それ以上わからず手じまいになってしまっています。
0300デフォルトの名無しさん2010/11/04(木) 21:48:50
無理
SubWindowのロード処理が重いなら、とりあえず表示だけ済ませて
重いロード処理は非同期にするべき
0301デフォルトの名無しさん2010/11/04(木) 21:50:08
>>299
DispatcherにInvokeを送る=UIスレッドで実行する=時間のかかる処理はフリーズしてしまう
のです。
DispatcherPriorityを設定したからって違うスレッドで実行されるわけではないです。
フリーズしないようにするためには別のスレッドで実行するといい。
例えばThreadPool.QueueUserWorkItemとか。
でも、別のスレッドからだとUIスレッドのコントロールに触ると例外が出てしまう。
そこで使うのがDispatcher.BeginInvokeで、UIスレッドにメソッドを送りつけるわけです。
0302デフォルトの名無しさん2010/11/04(木) 21:52:12
あきらめてSplash Windowをだしてごまかすとか。
WPFは簡単に出来たはず。
0303デフォルトの名無しさん2010/11/04(木) 22:07:53
>>300-302

即答ありがとうございました。

ThreadPool.QueueUserWorkItemでは STAスレッドではないということで
InvalidOperationExceptionが発生するということは
ググったり、自身で実行してみて理解していました。

自身に配置したコントロール(たとえばListBoxやTextBox)に対して
Dispatcher.BeginInvokeで非同期実行することはできていたので
Windowではなぜできないのか、悩んでおりました。

無理、という事が判明したのなら
アドバイス通り、スプラッシュやらプログレスの表示で回避するのが良策のようですね。
0304デフォルトの名無しさん2010/11/04(木) 22:33:40
>>303
非同期にやるっつったって、Dispatcher.Invoke の中で重たい処理しちゃいけないのはわかってる?

非同期開始
重たい処理
Dispatcher.Invoke
Window生成&Show

って順でやらないとダメ。
0305デフォルトの名無しさん2010/11/04(木) 22:57:39
ユーザーの文字入力でその文字のボタンを作成していくものを作ろうと思うのだけど
ボタンの作成はXAMLでするの?C#で記述するの?
0306デフォルトの名無しさん2010/11/04(木) 23:02:29
XAMLでスタイル書いといてC#でボタン作ってスタイル突っ込む
0307デフォルトの名無しさん2010/11/04(木) 23:08:55
WPFがもっとも苦手とする部分だな
0308デフォルトの名無しさん2010/11/04(木) 23:14:45
ボタンを追加?
データバインディングで Button.Content にテキストをバインドとかでなく?

動的に追加なら普通に C# で書くね。
0309デフォルトの名無しさん2010/11/04(木) 23:19:43
>>215
昔からそうだね
0310デフォルトの名無しさん2010/11/04(木) 23:22:54
>>306
スタイルとかよくわからないですがそれでやってみます

>>307
そうなんですか、まだXAMLでどこまでできるかよく把握していないので
ロジック分離するにも境界線がわかっていない感じです

>>308
動的なのかわかりませんが、ラップパネルにユーザーが文字を入力して作成ボタンを押すと
その文字が書かれたボタンが新しく追加されていくという感じです
0311デフォルトの名無しさん2010/11/04(木) 23:27:25
>>309は誤爆ですw
0312デフォルトの名無しさん2010/11/04(木) 23:29:05
>>310
そういう用途なら ↓こんな感じでやる。

XAML 側
<ItemsControl ItemsSource="{Binding List}">
  テンプレートで
  <Button Content="{Binding}" />

C# 側(どこかで DataContext 設定)
View.DataContext = new ViewModel();

C# 側(ViewModel クラスで)
class ViewModel
{
  public ObservableCollection<string> { get; set; }
}
0313デフォルトの名無しさん2010/11/04(木) 23:29:46
>>307
WPF で余裕。
データバインディングと ItemTemplate 強力。
03143052010/11/04(木) 23:37:06
>>312
わざわざありがとうございます
覚えなければいけないことがいろいろあるようで
根気よくやってみます
03153052010/11/05(金) 19:08:31
>>312
もう少しだけ細かく教えてもらえませんか?
ラップパネルにはItemsSourceもControlTemplateもないのですがどこのテンプレートですか?
それと作成ボタンが押されたらラップパネルにボタンが追加されるようにする方法もよくわかりません
Binding Listも何をバインディングしているのかもわかりませんでした
ViewModelクラスも何のために作成しているかわかりませんでした

一応こんな風にC#で作成ボタンのクリックイベントでボタンを作成するようにしてできましたが

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            Button button1 = new Button();
            button1.Content = textBox1.Text;
            button1.Background = new SolidColorBrush(Colors.White);
            button1.Foreground = new SolidColorBrush(Colors.DarkGreen);
            this.wrapPanel1.Children.Add(button1);
         }
0316デフォルトの名無しさん2010/11/05(金) 19:38:02
> ラップパネルにはItemsSourceもControlTemplateもないのですがどこのテンプレートですか?
WrapPanelは直接じゃなくてItemsControlのItemsPanelTemplateとして使う
で、この場合のテンプレートはItemsControl.ItemTemplate

> それと作成ボタンが押されたらラップパネルにボタンが追加されるようにする方法もよくわかりません
考え方が違う

A. 自分でやること
・ItemsControl,ItemsControlにObservableCollectionをバインドしておく
・必要なときにObservableCollectionに文字列を追加する

B. 勝手にされること
・ObservableCollectionはデータが追加されたことをItemsControlに通知する
・ItemsControlは増えたデータをDataTemplateをもとに作り上げた要素(ボタン)を自分に追加する
0317デフォルトの名無しさん2010/11/05(金) 20:33:41
>>316
http://ufcpp.net/misc/WpfApplication5.zip
03183052010/11/05(金) 21:07:11
>>316
>>317
わざわざ作って頂いてありがとうございます
でもデリゲートいっぱい、ソースみても何を書いているのかよくわかりませんでした
それと起動しても追加ボタンが灰色のままで押せないのですが

今の自分にはレベルが高すぎる上、なぜこうすべきかもわからないので>>315のやり方でとりあえず妥協します
0319デフォルトの名無しさん2010/11/05(金) 21:08:47
>>315
コード中でボタン作るのはともかく、コードにColor.DarkGreenとか出てくるのはちょっといただけない
せめてStyle使いましょう
0320デフォルトの名無しさん2010/11/05(金) 21:08:51
>>318
おいこらw、セッカクつくってもらったんだから妥協してんしゃねえよ。
つかてめえデリゲートごときでなにびびってんだコラ。
0321デフォルトの名無しさん2010/11/05(金) 21:10:37
はは、まぁ作った奴からすればちょっと悲しいよなw
0322デフォルトの名無しさん2010/11/05(金) 21:11:15
柄の悪いインタネッツですね
0323デフォルトの名無しさん2010/11/05(金) 21:11:27
デリケートは昔でいうgotoだから使う奴は初級者
0324デフォルトの名無しさん2010/11/05(金) 21:12:10
昔で言うgotoは例外ですよ
03253052010/11/05(金) 21:23:47
>>319
本当はスタイルしたいんだけど
C# コードでのstyleを作る方法が見つからなかった
XAMLでのコードはあったけど
でも、C#側で作ったボタンにXAML側で作ったスタイルを適用する
方法もわからなかったので

>>320
デリゲートはずっと避けてきてそれでもwinformsならそれなりのツールが
作れていたので、まった無知です
0326デフォルトの名無しさん2010/11/05(金) 21:26:02
ParallelsとかTaskとかデリゲートだらけに進化してます
0327デフォルトの名無しさん2010/11/05(金) 21:26:54
>>318
データはビューから分離しとかないと、すぐに管理しきれなくなるよ。

ほんとにボタン足して終わりの単純なアプリなら >>315 で全然いいんだけど。
0328デフォルトの名無しさん2010/11/05(金) 21:29:33
>>325
リソースで Style 作っておいて、
C# 側からリソース読み出せばいい。

てか、デリゲート避けてきたって、そりゃかなり酷いぞ。
C 言語でポインターが理解できませんと同レベルにどうしようもない。
0329デフォルトの名無しさん2010/11/05(金) 21:30:30
わからなきゃ投げ出すとか、ほんとゆとりだな
0330デフォルトの名無しさん2010/11/05(金) 21:34:17
デレゲートとラムダ式の違いがよくわからんかったな
0331デフォルトの名無しさん2010/11/05(金) 21:38:18
デリゲートね
デリゲートを簡単に書くためにラムダ式が
03323052010/11/05(金) 21:38:22
>>327
最終的には、追加されたボタンをクリックして色反転
DATAGRIDに並べられたファイルにボタン名(タグみたいな感じ)で関連付けして
xmlで書き出して保存までやりたいです




>>328
> >>325
> リソースで Style 作っておいて、
これはできます
> C# 側からリソース読み出せばいい。
これがわかりません

> てか、デリゲート避けてきたって、そりゃかなり酷いぞ。
> C 言語でポインターが理解できませんと同レベルにどうしようもない。
C言語の例えはよくわかりませんが、デリゲート知らなくても
それなりのソフトはできてました。使う必要がなかった感じです

>>329
投げ出して一生デリゲートを学ばないと言っているわけじゃないので
試行錯誤の過程を断片的に捉えて煽るのはやめてもらえませんかね?
あなたはすぐデリゲート理解できの?
とりあえず、完成まで持っていきたいから他のアプローチを試す
ゆとりというより柔軟と言ってほしい
03333052010/11/05(金) 21:45:41
>>331
簡単に書くというより短く書くだけで
結局、デリゲートがどういうものか理解していないと
よりわかりにくくなっただけって感じ
ラムダ式がなかったころからデリゲートを使っていた人向けで
今から始めた人向けじゃない気がする
0334デフォルトの名無しさん2010/11/05(金) 21:47:12
そうだね
まあ最初はデリゲートを書きなれることかなw
0335デフォルトの名無しさん2010/11/05(金) 21:51:06
イベントには便利だな
0336デフォルトの名無しさん2010/11/05(金) 21:52:36
というかC#のイベントはデリゲートで実装してるんじゃないの?
03373052010/11/05(金) 21:52:50
>>334
でも、使う場面がないですよ?
あらゆるサイトでデリゲートの説明していますが
デリゲートって便利だなと思ったものは1つもない
0338デフォルトの名無しさん2010/11/05(金) 21:54:59
おまえはイベントを書く時にどうやってるんだよ…
0339デフォルトの名無しさん2010/11/05(金) 21:55:37
いろんなとこから呼ばれる非同期処理とか
0340デフォルトの名無しさん2010/11/05(金) 21:56:08
>>337
スレッドとか使うときかなあ・・・

以前C#のほかのスレででてたサンプル
http://cs2ch.blog123.fc2.com/blog-entry-84.html
0341デフォルトの名無しさん2010/11/05(金) 21:57:22
>>337
コールバック処理とかの実装どうしてんだよ。
わざわざクラスこさえて実施するとかJava上がりのバカだけだろ。
0342デフォルトの名無しさん2010/11/05(金) 21:57:32
LINQにメソッド渡すのは嫌ずら
03433052010/11/05(金) 21:57:46
>>336
そういうこと言い出す人がいると思いましたけど
わかってるでしょ?イベントハンドラは自動で作成されるし
別にデリゲートと意識しなくても使えるということを

動的にボタンを作成する場合も必要だけど
それぐらいはわかります。

とにかく>>317はボタン追加が押せないということで
間違っているところがあるんですよね?
それにあれだけ長くて難しいコードを書かなくてはいけない理由もわからない
ただ、ボタンを追加するだけなのに・・・
WPFやってみたけど、不満しかいまのところない
IDEは異常に重いし・・・ヒントの数も少ない
入力候補などが出ず手動で書かないといけないところが多い
0344デフォルトの名無しさん2010/11/05(金) 21:58:40
コレクションを要素の型の特定のプロパティでソートしたいときはデリゲート使わないでどうやるんだろう
Comparerクラスを実装するのはデリゲートと同じだから当然理解できないだろうな
データセットとか使うんだろうか
03453052010/11/05(金) 21:59:22
>>339
>>340
>>341
そういうのをしたい、必要と思ったことはありません
その程度の小規模なツール作っているだけなんで
0346デフォルトの名無しさん2010/11/05(金) 21:59:29
ふーん
能力がないのを棚に上げて道具のせいとかついったーに書いてろよ
03473052010/11/05(金) 22:00:18
>>344
そんなソートをしたいと思ったことがないですね
0348デフォルトの名無しさん2010/11/05(金) 22:01:00
>>345
理解できなくてすいませんでしたって土下座しろよ。
クソして寝ろ、もうくんなw
0349デフォルトの名無しさん2010/11/05(金) 22:01:12
>>345
じゃあ今は覚えなくていいよ
必要になったらここで見たな〜くらいは覚えておけば
0350デフォルトの名無しさん2010/11/05(金) 22:01:32
視野が狭い自慢?
0351デフォルトの名無しさん2010/11/05(金) 22:03:31
>>344
from n in コレクション
orderby n.プロパティ1,n.プロパティ2
select n
0352デフォルトの名無しさん2010/11/05(金) 22:03:51
他に出たのはともかくとして>>344がいらないって一体何作ってるんだろ
スクリプト言語でちょっとした処理書くときでさえ>>344みたいなソートは使わない方が珍しいくらい
03533052010/11/05(金) 22:04:24
winformsで簡単で短いコードでできることを
WPFでは難しく長いコードになってしまうということですよ
0354デフォルトの名無しさん2010/11/05(金) 22:05:02
>>351
それデリゲート使ってるよ
03553052010/11/05(金) 22:06:34
>>352
コレクションのソート使わない方が沢山あるでしょ
0356デフォルトの名無しさん2010/11/05(金) 22:07:07
ラムダ式はいわば簡単にかけるメソッドでしょ
デリゲートにおける扱いは普通のメソッドと変わらん。
0357デフォルトの名無しさん2010/11/05(金) 22:07:25
ソート使わないプログラムの方が少ないでよ
エントロピー減らすためにPC使ってるんだで
0358デフォルトの名無しさん2010/11/05(金) 22:09:05
>>355もういいから涙拭いて布団に入れよ。
0359デフォルトの名無しさん2010/11/05(金) 22:09:52
WinFormsの方が短く書けるってのはWinFormsの方法論でWPF書いてるからですよ
当たり前
03603052010/11/05(金) 22:11:28
てか>>315の何がだめなの?
他の人も言ってたじゃない
追加するならC#で書くってさ
0361デフォルトの名無しさん2010/11/05(金) 22:11:35
俺は半分オナヌー用途だが
0362デフォルトの名無しさん2010/11/05(金) 22:12:02
ウィンホームズの方が他の言語に活かせる学び方ができる
03633052010/11/05(金) 22:13:03
>>359
じゃあ>>317はなぜ長いか説明してよ
追加ボタン押せないのはなぜか教えてよ
0364デフォルトの名無しさん2010/11/05(金) 22:13:14
まあ、実際、値の変更通知を手動で管理しきれて、
ビューから状態分離しなくてもテストしきれるような小規模なら、
WinForms の方法論で全然問題ないんだけどもね。

それを超えることやってないなら WPF はオーバースペックか。
0365デフォルトの名無しさん2010/11/05(金) 22:13:34
>>327辺りが言ってると思うが
お前メクラなの?PCモニタ見るの止めれば?
0366デフォルトの名無しさん2010/11/05(金) 22:14:36
>>363
ああ、ボタン押せなくしたのはちょい蛇足。
テキスト入力されてないときに、空のテキスト追加しちゃうの?って思ったんで。

ああいう、ビュー内の状態に応じてコマンドの実行可否切り替えるとかも、
割かし GUI ではよくある要件。
03673052010/11/05(金) 22:14:52
>>365
具体的に
0368デフォルトの名無しさん2010/11/05(金) 22:15:24
>>363
同じものWinFormsで書いてから言えば?
書いたら戻ってこなくていいけどw
0369デフォルトの名無しさん2010/11/05(金) 22:15:52
ヒートアップしてきたな。
03703052010/11/05(金) 22:15:58
>>366
ボタン押された場合にトリガー発動させて
ボタン追加じゃだめなの?
03713052010/11/05(金) 22:17:32
>>366
文字入力してもボタン押せない状態なんだけど?
0372デフォルトの名無しさん2010/11/05(金) 22:18:28
>>371
パソコンに馬鹿にされてんだよそれ
0373デフォルトの名無しさん2010/11/05(金) 22:20:27
>>370
disable になってる理由が明白な場合には disable にしてた方がいいって感じかな。
Word とかで、クリップボードに何もないときは「貼り付け」が disable になってるでしょ。

まあ、ポイントは、実行可否がコマンドの定義の部分に書かれてるってことかな。
「ボタンが押されたときに」ってやろうとすると、ボタンのイベントハンドラー内にコード書くことになるでしょ。
1つのコマンドに対して、実行と実行可否判定の場所が離れるってのはあまりよくない。
0374デフォルトの名無しさん2010/11/05(金) 22:22:23
>>371
フォーカスはずすと切り替わるはず。
キー入力のたびに切り替えたければ、
{Binding NewText} を {Binding NewText, UpdateSourceTrigger=PropertyChanged}
に書き換えて。
0375デフォルトの名無しさん2010/11/05(金) 22:23:01
機械の分際で>>305様に楯突くなんて!
0376デフォルトの名無しさん2010/11/05(金) 22:25:24
ちなみに、>>372 の補足。

なんで disable になってるのかパッと見てわからない場合は disable にせず、
実行されたときにアラート出す方がいいらしい。
でないとユーザーは「この機能は使えないものなんだ」って思うとかで。
03773052010/11/05(金) 23:05:40
>>316さんの説明はある一定の知識のある人には丁寧で
わかりやすいんだろうけど、おれのレベルだと
何を言っているのかわからない
俺はただ、追加ボタンがクリックできない状態になっている
テキスト入力しても出来ない状態
だからずっとできる状態にしてほしいの
どこをどういじればそういう風になるのかもわからないレベルなの

初心が遠く昔の人って、知識がある前提で話すからほんとわかりにくい
0378デフォルトの名無しさん2010/11/05(金) 23:09:02
>>377
あっ、ちなみに、>>316>>317 は別人よ。
あれじゃわかんないと思ってコード書いた。
余裕あったら説明コメントも入れたと思う。
0379デフォルトの名無しさん2010/11/05(金) 23:14:01
オラオラ、初心者様の御通りだぞ
平伏せ下郎
03803052010/11/05(金) 23:21:49
>>378
なんだ別人かー
わからないよね?>>316の説明だと
一応これに近いことなのかなと思ってみていたけどよくわからなかった
●コレクション・オブジェクトへのバインド
http://www.atmarkit.co.jp/fdotnet/vblab/uiframework_02/uiframework_02_04.html

>A. 自分でやること
自分?何が自分?おれのこと?ユーザー?

>B. 勝手にされること
誰が勝手にするの?
>ObservableCollectionはデータが追加されたことをItemsControlに通知する
このやり方がわからないんですけど。

そもそも何の説明?
もうまったくわかんなかった
例えると、ため口の説明を同じ内容でただ敬語で説明されただけって感じ。

>>317>>316の説明の通りにしたソースだよね?
いつかわかる日が来た時のために永久保存しておきます
0381デフォルトの名無しさん2010/11/05(金) 23:24:39
まだやってるのか
落ち着け
03823052010/11/05(金) 23:27:19
パソコン今日届いて初めて触る人にコピペを教えるようなもの

初「コピペって何?」
上「クリップボードを中継してデータを写す作業」
初「クリップ・・何それ?」
上「クリップボードにコピーしたデータを保存して、適当な場所にペーストすることだよ」
初「いや、だからクリップってなに?コピーって?ペーストって?それってコピペの説明?」
別の上「Ctrl+C、Ctrl+Vでできる」
初「え?それってどういう意味?」(←キーボードのキーだということすらわかっていない)

今こういうのを体験した気がするわ
■ このスレッドは過去ログ倉庫に格納されています