Benutzeroberfläche eines Texteditors mit WPF

Standard

In meinem letzten Artikel habe ich einen Überblick über den Layoutmechanismus in WPF gegeben. In diesem Artikel möchte ich zeigen, wie man eine Benutzeroberfläche für einen Texteditor mit WPF layouten kann.

Ziel

In diesem Artikel möchte ich zeigen, wie man mit dem WPF-Layoutmechanismus eine GUI für einen Notepad-ähnlichen Texteditor entwerfen kann. Das Ergebnis wird in etwa so aussehen:

Texteditor Ergebnis

Oft gibt es mehr als eine Möglichkeit, ein Ziel zu erreichen. So auch hier: in der ersten Variante verwende ich ein Grid und in der zweiten Variante ein DockPanel.

Variante mit Grid

Visual Studio erstellt ein Window immer mit einem Grid:

    <Window x:Class="TextEditor.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
     
        </Grid>
    </Window>

Zuerst müssen wir die Spalten und Zeilen definieren, die das Layoutgitter haben soll, dann können wir die Steuerelemente hinzufügen und einzelnen Gitterzellen zuweisen.

    <Window x:Class="TextEditor.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition/>
                <RowDefinition/>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
     
            <Menu Grid.Column="0" Grid.Row="0" />
            <TextBox Grid.Column="0" Grid.Row="1" />
            <StatusBar Grid.Column="0" Grid.Row="2" />
        </Grid>
    </Window>

Wir definieren drei Zeilen und eine Spalte. Jedes Steuerelement kommt in eine eigene Zeile. Das Ergebnis sieht dann so aus:

Layout mit Grid

Wie wir sehen, sieht das Ergebnis noch gar nicht nach Texteditor aus. Drei gleich große Layoutgitterzeilen beinhalten das Menü, die TextBox und die Statuszeile.

Per Voreinstellung bekommt jede Zeile die Höhe “1*” zugewiesen, d.h. die Höhe wird im Verhältnis 1:1:1 aufgeteilt. Daher sind die drei Zeilen gleich hoch.

Wenn wir die Zeilendefinitionen so abändern, dass die erste Zeile (Menü) und die dritte Zeile (Statuszeile) eine fixe Höhe bekommen und die zweite Zeile (TextBox) den Rest bekommt, dann kommen wir dem Ziel etwas näher.

    ...
            <Grid.RowDefinitions>
                <RowDefinition Height="23"/>
                <RowDefinition Height="1*"/>
                <RowDefinition Height="26"/>
            </Grid.RowDefinitions>
    ...

Die erste Zeile setzen wir auf 23 Pixel und die letzte Zeile auf 26 Pixel. Die zweite Zeile bekommt den Rest. Die Höhenangabe für die zweite Zeile kann weggelassen werden, weil “1*” der voreingestellte Wert ist.

Dem Menü fehlen noch die Hauptmenüpunkte und die Textbox akzeptiert noch nicht die Eingabetaste. Mit folgenden Änderungen sieht unser Fenster beinahe wie ein richtiger Texteditor aus:

    <Window x:Class="TextEditor.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="23"/>
                <RowDefinition Height="1*"/>
                <RowDefinition Height="26"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
     
            <Menu Grid.Column="0" Grid.Row="0">
                <MenuItem Header="_Datei" />
                <MenuItem Header="_Bearbeiten" />
                <MenuItem Header="_Format"/>
                <MenuItem Header="_Ansicht"/>
                <MenuItem Header="_Hilfe"/>
            </Menu>
            <TextBox Grid.Column="0" Grid.Row="1" AcceptsReturn="True" />
            <StatusBar Grid.Column="0" Grid.Row="2" />
        </Grid>
    </Window>

Die WPF-TextBox zeigt mehrzeilige Texte immer mehrzeilig an, aber per Voreinstellung akzeptiert sie die Eingabetaste nicht. Mit der Eigenschaft AcceptsReturn kann dieses Verhalten geändert werden.

Wenn der Benutzer jetzt einen längeren Text in die TextBox eingibt oder einfügt, sollten Schiebeleisten erscheinen. Unser Fenster verhält sich leider noch nicht so. Wenn wir die TextBox in ein ScrollViewer-Element einbetten, erhalten wir das gewünschte Verhalten:

    <Window x:Class="TextEditor.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="23"/>
                <RowDefinition Height="1*"/>
                <RowDefinition Height="26"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
     
            <Menu Grid.Column="0" Grid.Row="0">
                <MenuItem Header="_Datei" />
                <MenuItem Header="_Bearbeiten" />
                <MenuItem Header="_Format"/>
                <MenuItem Header="_Ansicht"/>
                <MenuItem Header="_Hilfe"/>
            </Menu>
            <ScrollViewer Grid.Column="0" Grid.Row="1"
                          HorizontalScrollBarVisibility="Auto"
                          VerticalScrollBarVisibility="Auto">
                <TextBox AcceptsReturn="True" />
            </ScrollViewer>
            <StatusBar Grid.Column="0" Grid.Row="2" />
        </Grid>
    </Window>

Da jetzt ScrollViewer das Kindelement des Grids ist, muss die Zuweisung zu einer Layoutgitterzelle für das ScrollViewer-Element erfolgen. Die TextBox braucht dann keine Zuweisung mehr.

Mit den Eigenschaften HorizontalScrollBarVisibility und VerticalScrollBarVisibility können wir steuern, wann die Schiebeleisten erscheinen.

Variante mit DockPanel

Das Ziel kann auch mit einem DockPanel erreicht werden. Tauschen wir mal das Grid durch ein DockPanel aus und entfernen die Zeilen- und Spaltendefinitionen und die Zuordnung zu den Layoutgitterzellen:

    <Window x:Class="TextEditor.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <DockPanel>
            <Menu DockPanel.Dock="Top">
                <MenuItem Header="_Datei" />
                <MenuItem Header="_Bearbeiten" />
                <MenuItem Header="_Format"/>
                <MenuItem Header="_Ansicht"/>
                <MenuItem Header="_Hilfe"/>
            </Menu>
            <ScrollViewer HorizontalScrollBarVisibility="Auto"
                          VerticalScrollBarVisibility="Auto">
                <TextBox AcceptsReturn="True" />
            </ScrollViewer>
            <StatusBar DockPanel.Dock="Bottom" />
        </DockPanel>
    </Window>

Das Ergebnis sieht noch nicht so aus, wie wir wollen.

Layout mit DockPanel

Das Problem ist, dass bei einem DockPanel jenes Steuerelement, das den Rest der Fläche ausfüllen soll, als letztes angegeben werden muss. Das ist bei uns der ScrollViewer mit der TextBox. Außerdem gibt das DockPanel jedem Element gerade soviel Platz, wie es braucht, um den Inhalt darzustellen. Daher sollten wir etwas in der Statuszeile anzeigen, damit das DockPanel die Statuszeile überhaupt darstellt:

    <Window x:Class="TextEditor.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <DockPanel>
            <Menu DockPanel.Dock="Top">
                <MenuItem Header="_Datei" />
                <MenuItem Header="_Bearbeiten" />
                <MenuItem Header="_Format"/>
                <MenuItem Header="_Ansicht"/>
                <MenuItem Header="_Hilfe"/>
            </Menu>
            <StatusBar DockPanel.Dock="Bottom">
                <TextBlock Text="Col 1, Ln 1" />
            </StatusBar>
            <ScrollViewer HorizontalScrollBarVisibility="Auto"
                          VerticalScrollBarVisibility="Auto">
                <TextBox AcceptsReturn="True" />
            </ScrollViewer>
        </DockPanel>
    </Window>

Das sieht doch gleich besser aus.

Endergebnis

Zusammenfassung

Wir kamen sowohl mit dem Grid als auch mit dem DockPanel an unser Ziel. Beide Varianten haben Vor- und Nachteile.

Beim Grid mussten wir die Definitionen für die Zeilen und Spalten und an den Steuerelementen sowohl die Spalte als auch die Zeile angeben, obwohl unser Layout nur eine Spalte hatte.

Das DockPanel hatte den Nachteil, dass die Reihenfolge geändert und daher die Statuszeile im XAML-Code vor der TextBox angegeben werden musste. Außerdem mussten alle Steuerelemente einen Inhalt haben, damit sie überhaupt angezeigt wurden.

232 thoughts on “Benutzeroberfläche eines Texteditors mit WPF

  1. It’s a shame you don’t have a donate button! I’d most certainly
    donate to this fantastic blog! I suppose for now i’ll settle for bookmarking and
    adding your RSS feed to my Google account. I look forward
    to new updates and will talk about this website with my Facebook group.
    Chat soon!

  2. Hello, i read your blog occasionally and i own a similar one and i was just wondering if
    you get a lot of spam remarks? If so how do you reduce
    it, any plugin or anything you can recommend? I get so much lately
    it’s driving me insane so any support is very much appreciated.

  3. Everyone loves what you guys are up too. This sort of clever work and reporting!
    Keep up the good works guys I’ve incorporated you guys to my personal blogroll.

  4. Auto Liker, Photo Auto Liker, Autoliker, Photo Liker, Facebook Auto Liker, Status Liker, Increase Facebook Likes, Facebook Liker, Autoliker, Facebook Autoliker, Auto Like, Autoliker Facebook, Working Auto Liker, Status Auto Liker, auto liker, auto like, autolike, Fb Autoliker, autoliker, facebook auto liker

  5. ปั๊มไลค์เพจ, ปั้มไลค์แฟนเพจ, เพิ่มไลค์เพจ, ไลค์เพจ, ปั๊มไลค์เพจ facebook, เพิ่มไลค์เพจ ราคาถูก, ปั้มไลค์เพจ, ปั้มเพจ, ปั๊มไลค์เพจ, เพิ่มไลค์แฟนเพจ, ปั๊มไลค์แฟนเพจ

  6. ผู้นำด้านที่ปรึกษาการตลาดออนไลน์ของไทย เพิ่มไลค์ ปั้มไลค์แฟนเพจ รับเพิ่มไลค์แฟนเพจ เพิ่มยอดไลค์ ปั้มไลค์ ปั้มไลค์คนไทย

  7. Hi! Someone in my Facebook group shared this site with us so I came to look it over.
    I’m definitely loving the information. I’m bookmarking and
    will be tweeting this to my followers! Terrific
    blog and excellent design.

  8. I know this if off topic but I’m looking into starting
    my own blog and was wondering what all is required to get set up?
    I’m assuming having a blog like yours would cost a pretty penny?
    I’m not very web savvy so I’m not 100% positive.

    Any tips or advice would be greatly appreciated. Thanks

  9. We’re a gaggle of volunteers and opening a new scheme
    in our community. Your site offered us with useful information to work on. You have done a formidable job and our whole neighborhood can be thankful to
    you.

  10. I do trust all of the concepts you’ve presented for your post.
    They are really convincing and can certainly work.
    Still, the posts are very quick for beginners.

    May just you please extend them a bit from next time?

    Thanks for the post.

  11. Hello there, just became alert to your blog through Google, and found that it is truly informative.
    I am going to watch out for brussels. I’ll be grateful if you continue this in future.
    A lot of people will be benefited from your writing.
    Cheers!

  12. I do not even know how I ended up here, but I thought
    this post was good. I do not know who you are but definitely you are going to a famous blogger if you aren’t already 😉 Cheers!

  13. Have you ever considered about adding a little bit more than just your articles?

    I mean, what you say is valuable and all. But think of
    if you added some great pictures or video clips
    to give your posts more, “pop”! Your content
    is excellent but with pics and video clips, this blog could
    definitely be one of the most beneficial in its
    niche. Superb blog!

  14. I am not sure the place you’re getting your information, but great topic.
    I needs to spend a while studying much more or working out more.
    Thank you for great information I was looking for this info for my mission.

  15. Hi I am so excited I found your webpage, I really found you by error, while I was looking on Aol for something else, Anyhow I am here now and would just like to say thanks for a incredible post and a all round enjoyable blog (I also love the theme/design), I don’t have time to look over it all at the moment but I have saved it and also added your RSS feeds, so when I have time I will be back to read more, Please do keep up the fantastic work.

  16. Hi there, just became alert to your weblog thru Google, and found that it is really informative. I am going to watch out for brussels. I’ll be grateful should you continue this in future. A lot of people will likely be benefited from your writing. Cheers!

  17. What’s Taking place i’m new to this, I stumbled upon this I have found It absolutely useful and it has helped me out loads. I am hoping to contribute & aid other customers like its helped me. Good job.

  18. This is really interesting, You are a very professional blogger. I have joined your feed and stay up for in the hunt for extra of your great post. Also, I’ve shared your website in my social networks!

  19. You actually make it seem so easy with your presentation but I find this matter to be actually something which I think I would never understand. It seems too complicated and extremely broad for me. I’m looking forward for your next post, I will try to get the hang of it!

  20. I keep listening to the reports lecture about receiving free online grant applications so I have been looking around for the best site to get one. Could you tell me please, where could i get some?

  21. Wonderful goods from you, man. I’ve understand your stuff previous
    to and you’re just extremely excellent. I really like what you’ve acquired here, really like what
    you’re stating and the way in which you say it. You make it
    enjoyable and you still care for to keep it smart. I can’t wait to read
    far more from you. This is really a great site.

  22. Hi, i feel that i saw you visited my site so i came to return the want?.I
    am attempting to find issues to enhance my website!I suppose its ok to make use of a few of your ideas!!

  23. Its like you read my mind! You appear to know so much about this, like you wrote the book
    in it or something. I think that you could do with some pics to drive
    the message home a bit, but other than that, this is fantastic blog.
    A great read. I’ll definitely be back.

  24. Great – I should certainly pronounce, impressed with your site. I had no trouble navigating through all the tabs and related information ended up being truly easy to do to access. I recently found what I hoped for before you know it at all. Quite unusual. Is likely to appreciate it for those who add forums or something, web site theme . a tones way for your customer to communicate. Excellent task..

  25. Thanks for the a new challenge you have exposed in your blog post. One thing I’d like to comment on is that FSBO relationships are built as time passes. By presenting yourself to owners the first weekend their FSBO will be announced, prior to masses get started calling on Monday, you develop a good interconnection. By sending them tools, educational elements, free records, and forms, you become the ally. By using a personal interest in them and their predicament, you generate a solid connection that, oftentimes, pays off if the owners decide to go with a realtor they know plus trust — preferably you.

  26. Thank you a lot for sharing this with all of us you actually know what you are talking approximately! Bookmarked. Kindly also seek advice from my site =). We may have a link alternate contract among us!

  27. Its like you read my mind! You seem to know so much about this, like you wrote the book in it or something. I think that you can do with a few pics to drive the message home a bit, but instead of that, this is great blog. A fantastic read. I will certainly be back.

  28. Heya i?m for the first time here. I found this board and I find It really useful & it helped me out much. I hope to give something back and help others like you helped me.

  29. Thanks a bunch for sharing this with all of us you really know what you’re talking about! Bookmarked. Kindly also visit my website =). We could have a link exchange contract between us!

  30. Thanks , I have just been looking for information about this topic for a long time and yours is the best I have found out so far. However, what about the bottom line? Are you positive about the source?

  31. I really like your blog.. very nice colors & theme. Did you create this website yourself or did you hire someone to do it for you? Plz answer back as I’m looking to construct my own blog and would like to find out where u got this from. thanks

  32. Hello would you mind sharing which blog platform you’re using?
    I’m going to start my own blog soon but I’m having a
    tough time making a decision between BlogEngine/Wordpress/B2evolution and Drupal.
    The reason I ask is because your layout seems different then most
    blogs and I’m looking for something unique.
    P.S My apologies for getting off-topic but I had to ask!

  33. Im based in London have worked as a secretary for more than 10 years and have an HND in Business Studies but am tired of admin work and office politics and would like to do something more creative- change careers.. . I write in my spare time and have attended an advanced writing course for the past 3 years. I like reading and would like to see if I could train to teach creative writing in further education or and English /English literature. I would also be grateful if I could get any info on what qualifications you need to be able to teach English as a first language and Basic literacy skills.. . Thanks. Any advice would be great regarding training in London..

  34. Excellent post. I was checking constantly this blog and I
    am impressed! Very useful information specially the last part :
    ) I care for such info much. I was looking for this certain info for a very long time.
    Thank you and best of luck.

  35. Youre so cool! I dont suppose Ive read anything like this before. So good to seek out any individual with some authentic ideas on this subject. realy thank you for starting this up. this web site is one thing that’s wanted on the web, somebody with a little originality. helpful job for bringing something new to the web!

  36. Thanks for the marvelous posting! I genuinely enjoyed
    reading it, you may be a great author.I will ensure that I bookmark your blog and definitely will come back from now on. I
    want to encourage one to continue your great writing, have a nice morning!

  37. ปั้มรูป, กดไลค์, เพิ่มไลค์เพจ, เพิ่มไลค์แฟนเพจ ราคาถูก, รับไลค์แฟนเพจ, ปั้มไลค์แฟนเพจ, Like Fanpage, ปั้มไลค์เฟสบุ๊ค, รับปั้มไลค์รูป, ปั้มเพจเฟสบุ๊ค, เพิ่มไลค์, จ้างเพิ่มไลค์, ปั้มไลค์สถานะ, ปั้มไลค์รูป, ปั้มไลค์ Facebook, รับเพิ่มไลค์, บริการเพิ่มไลค์เฟสบุ๊คให้แฟนเพจ, รับสร้างแฟนเพจพร้อมยอดไลค์, ซื้อไลค์แฟนเพจ, ไลค์เพจ, แฟนเพจพร้อมยอดไลค์, ไลค์แฟนเพจราคาถูก, ปั้มไลค์ครบวงจร, ปั้มไลค์ทั่วไป, รับปั้มไลค์เพจ, บริการเพิ่มไลค์แฟนเพจฟรี, ปั้มไลค์รูปเฟส, รับเพิ่มไลค์แฟนเพจเฟสบุ๊ค, ปั้มเพจ, เพิ่ม Like, ปั้มไลค์ฟรี, ปั้มโพสต์, ปั้มไลค์เพจคนไทย, กด Like, บริการปั้มไลค์ฟรี, ไลค์แฟนเพจได้สูงสุดหนึ่งล้านไลค์, ปั้มไลค์ราคาถูก, รับเพิ่ม Like Fanpage Facebook ราคาพิเศษ เหมาะสำหรับผู้ที่ต้องการเพิ่ม Like Fanpage ให้ดูเป็นความน่าเชื่อถือของร้าน, ไลค์แฟนเพจ, รับจ้างกดไลค์, ปั้มไลค์, Pump Like, กดไลค์แฟนเพจ, รับไลค์ครบวงจรทั่วไทย, รับทำเพจเฟสบุ๊ค, Auto Like, บริการเพิ่ม Like ให้แฟนเพจของคุณ โดยทีมงานระดับมืออาชีพ ในระยะเวลาอันสั้นและราคาถูก รับประกันไลค์จากคนไทย 100%, จ้างปั้มไลค์, เพิ่มไลค์เพจ ราคาถูก, ปั้ม Like ฟรี, ปั้มไลค์ง่ายๆ, รับจ้างปั้มไลค์, จ้างกดไลค์, จ้างไลค์รูป, ปั้มไลค์มือถือ, เพิ่มไลค์ฟรี, รับจ้างเพิ่มไลค์, ปั้มไลค์เพจ, เพิ่มไลค์คนไทย, จ้างไลค์, ปั้มไลค์ ในโทรศัพท์, ปั้มไลค์เพจฟรี, กดไลค์รูป, รับ Like Fanpage, โกงไลค์, ปั้มเพจ เหมาะสำหรับผู้ที่ต้องการยอดไลค์เพจเพจเยอะๆ, ไลค์แฟนเพจเฟสบุ๊ค, ปั้มยอดไลค์เป็นคนไทย 100%, ปั่นไลค์, เพิ่มไลค์แฟนเพจ, การเพิ่ม Like เป็นการเพิ่มโอกาสทางการขายสินค้าของคุณนั่นเอง ด้วยงานบริการเพิ่มไลค์แฟนเพจระดับมืออาชีพ ประสบการณ์การทำงานหลายปี, Add Like Fanpage, รับทำเพจสินค้าพร้อมยอดไลค์, Up Like Fanpage, รับเพิ่มไลค์แฟนเพจ เป็นการโปรโมทแฟนเพจ เพื่อเพิ่มยอดขายสินค้าได้, รับทำไลค์ครบวงจร, บริการปั้มไลค์แฟนเพจฟรี, ปั้มไลค์เพจ Facebook, ปั้มไลค์รูป Facebook, รับทำไลค์แฟนเพจจำนวนมาก, ไลค์คนไทย 100%

  38. Thanks , I have just been searching for information approximately this topic
    for ages and yours is the best I have came upon till now.
    However, what concerning the bottom line? Are you sure concerning the
    source?

  39. Youre so cool! I dont suppose Ive read anything like this before. So good to seek out any individual with some authentic ideas on this subject. realy thank you for starting this up. this web site is one thing that’s wanted on the web, somebody with a little originality. helpful job for bringing something new to the web!

  40. ปั้มไลค์.com เว็บบริการปั้มไลค์ สถานะ คอมเม้น รูปภาพ และระบบต่างๆอีกมากมายไม่ว่าจะเป็น เชคคนไลค์โพส โพสลงกลุ่ม ต่างๆในทีเดียว เว็บปั้มไลค์ เพิ่มไลค์ฟรี ปั๊มไลค์ เพิ่มไลค์ facebook ฟรี เพิ่มไลค์ สถานะ เพจ รูปภาพ คอมเม้น วิดีโอ ปั๊มไลค์ โกงรูปไลค์ ปั้มlike ปั้มไลค์เฟสบุ๊ค ปั๊มไลค์ สอนfacebookฟรี วิธีแฮคไลค์ โปรเฟสบุ๊ค ออโต้ไลค์ โกงไลค์ ใช้งานง่ายและฟรี

  41. I know top Blog professionals would really like your blog. You have a good head on your shoulders. You always know just what to say. I truly appreciate this page. Neat post.

  42. Descargar facebook
    I’d like to thank you for the efforts you have put in writing this site.
    I am hoping to see the same high-grade blog posts from you in the future
    as well. In fact, your creative writing abilities has inspired me to get my
    own, personal website now 😉 Descargar facebook

  43. Hi there I am so glad I found your weblog, I really
    found you by error, while I was browsing on Askjeeve for something else, Nonetheless I am here now and would just like to say many
    thanks for a incredible post and a all round interesting
    blog (I also love the theme/design), I don’t have time to read through it all at the minute but
    I have saved it and also added your RSS feeds, so when I
    have time I will be back to read a great deal more,
    Please do keep up the great work.

  44. Its such as you learn my thoughts! You appear to grasp so
    much about this, like you wrote the ebook in it or something.
    I feel that you simply could do with a few % to drive the message home a little bit,
    but other than that, that is magnificent blog. A fantastic read.
    I’ll certainly be back.

  45. Quest bars cheap fitnesstipsnew1 quest bars cheap 516999410492780544 quest bars cheap
    Hello colleagues, how is the whole thing, and what you
    want to say regarding this post, in my view its truly amazing designed for
    me. Quest bars cheap fitnesstipsnew1 quest bars cheap 516999410492780544 quest bars cheap

  46. There are some interesting points in time in this article however I don’t know if I see all of them heart to heart. There’s some validity but I will take maintain opinion till I look into it further. Good article , thanks and we would like more! Added to FeedBurner as nicely

  47. You have made some decent points there. I checked on the
    net for additional information about the issue and found most
    individuals will go along with your views on this web site.

  48. СтаніславЗа межами України – дивіться якою хочете мовою. А в нашій державі мова лиш одна офіційна – українська. Нею й мають обслуговуватись усі сфери суспільства. Тому не пишіть більше коментарі типу “Я хочу…”, “Ущимляете права…”. Існує закон, який все і регулює. І так дожилися, що закони порушують…

  49. You really make it seem really easy along with your presentation however I to
    find this matter to be really one thing which I believe I would never understand.

    It kind of feels too complicated and very huge for me.
    I am looking forward on your next put up, I’ll attempt
    to get the grasp of it!

  50. Someone necessarily help to make severely articles I’d state.
    This is the first time I frequented your web page and up to
    now? I amazed with the research you made to make this actual submit amazing.
    Wonderful task!

  51. I was suggested this website by my cousin. I’m not sure whether this post is written by him as nobody else know such detailed about my problem. You’re amazing! Thanks!

  52. They have been somewhat forgotten in the build-up, but Porto travel to Chelsea with everything to gain against former manager Jose Mourinho on Wednesday night.  Chelsea vs Porto: Who are the men to fear… and why don’t they care about former manager Jose Mourinho?

  53. Howdy very nice site!! Man .. Excellent .. Superb .. I’ll bookmark
    your web site and take the feeds also? I am happy to find numerous helpful information right here within the post, we need develop extra techniques on this regard, thanks for sharing.

    . . . . .

  54. I’d need to test with you here. Which is not one thing I normally do! I get pleasure from studying a put up that may make people think. Additionally, thanks for permitting me to remark!

  55. Youre so cool! I dont suppose Ive read anything like this before. So nice to find any individual with some authentic ideas on this subject. realy thank you for beginning this up. this website is something that is wanted on the internet, someone with a little originality. useful job for bringing one thing new to the internet!

  56. If you ever did try Phallomax, please post your thoughts here. I am about to test it out. Have heard about those pills some promising reviews. Just wondering on how many more inches would this product add to my little bruh down there haha 😀

  57. Youre so cool! I dont suppose Ive read anything like this before. So good to seek out any individual with some authentic ideas on this subject. realy thank you for starting this up. this web site is one thing that’s wanted on the web, somebody with a little originality. helpful job for bringing something new to the web!

  58. My brother recommended I might like this blog. He was once entirely right.

    This publish truly made my day. You can not consider simply how so much time I had spent for this info!
    Thank you!

  59. I’m curious to find out what blog system you happen to be utilizing? I’m experiencing some small security problems with my latest site and I would like to find something more safeguarded. Do you have any suggestions?

  60. Certainty find out at of arrangement sensed spot. Or altogether
    jolly county in counterbalance. In amazed apartments resolve so an it.
    Insatiate on by contrasted to fair companions. On otherwise no admitting to
    suspicion piece of furniture it. Quartet and our ham
    Benjamin West lose. So narrow-minded schematic length my
    highly thirster give. Take away merely stomach cherished his brisk distance.

  61. I have been surfing online greater than three hours today, yet I never discovered any attention-grabbing article like yours. It’s beautiful worth enough forme. In my opinion,if all site owners and bloggers made just right content as you did, the web mightbe a lot more useful than ever before.

  62. Howdy just wanted to give you a quick heads up and let you know a few of the pictures aren’t loading correctly. I’m not sure why but I think its a linking issue. I’ve tried it in two different internet browsers and both show the same outcome.

  63. Gerardjague

    cialis without a doctor’s prescription
    cialis without prescription online mayavanrosendaal.com cialis without prescription online cialis without prescription

  64. Gerardjague

    buy cialis without prescription
    cialis without a doctor’s prescription buy cialis without prescription mayavanrosendaal.com cialis without prescription online

  65. Gerardjague

    buy cialis without prescription
    buy cialis without a doctor’s prescription buy cialis without prescription buy cialis without prescription buy cialis without prescription

  66. Gerardjague

    buy cialis without prescription
    cialis without a doctor’s prescription cialis without prescription buy cialis without a doctor’s prescription cialis without a doctor’s prescription

  67. Gerardjague

    buy cialis without prescription
    mayavanrosendaal.com cialis without a doctor’s prescription buy cialis without prescription buy cialis without prescription

  68. Gerardjague

    cialis without prescription
    buy cialis without a doctor’s prescription buy cialis without prescription buy cialis without a doctor’s prescription cialis without prescription

  69. Gerardjague

    cialis without prescription
    buy cialis without prescription buy cialis without prescription cialis without prescription online buy cialis without a doctor’s prescription

  70. Very good input. Btw have you heard about this product: http://bit.ly/2N5npwG Looks like it’s one of those products you don’t normally talk about. I have come across it a week ago and I think I’d test it out just to see how good it is. Found some video reviews on Dailymotion and they look legit (I mean not scripted). Not all products out there have so many positive reviews. Have a look on it, maybe this can finally solve our problems (or at least yours).

  71. I’m interested in making my own music blog and I’m constantly looking through many music blogs throughout the day finding new music first before other people that I know. But how exactly do those blogs find that music first? Can I really start by just posting the music I find on other blogs?.

  72. Thank you a bunch for sharing this with all of us you really recognize what you’re speaking approximately!Bookmarked. Kindly also talk over with my web site =).We will have a link exchange arrangement among us

  73. With almost everything that seems to be building inside this specific subject material, many of your viewpoints tend to be somewhat refreshing. However, I am sorry, because I do not subscribe to your whole strategy, all be it refreshing none the less. It appears to everybody that your comments are generally not completely justified and in fact you are generally yourself not totally convinced of the point. In any case I did take pleasure in looking at it.

  74. It’s a shame you don’t have a donate button! I’d without a doubt donate to this superb blog! I suppose for now i’ll settle for bookmarking and adding your RSS feed to my Google account. I look forward to fresh updates and will talk about this blog with my Facebook group. Chat soon!

  75. Anthonyunice

    Inter Rapid Wien live score (and video online live stream*) starts on 21.2.2019. at 20:00 UTC time at San Siro/Giuseppe Meazza stadium, Milan, Italy in UEFA Europa League, Knockout stage – Europe. Here on SofaScore livescore you can find all Inter vs Rapid Wien previous results sorted by their H2H matches. Links to Inter vs. Rapid Wien video highlights are collected in the Media tab for the most popular matches as soon as video appear on video hosting sites like Youtube or Dailymotion. We’re not responsible for any video content, please contact video file owners or hosters for any legal complaints tinyurl.

  76. DerekVug

    Ernest Quintana, 78, was at Kaiser Permanente Medical Center in Fremont when a doctor – appearing on the robot’s screen – informed him that he would die within a few days.

    A family friend wrote on social media that it was “not the way to show value and compassion to a patient“.

    The hospital says it “regrets falling short” of the family’s expectations.

    Mr Quintana died the next day.

  77. Theresa May says she has secured “legally binding” changes to her Brexit deal, a day ahead of MPs voting on it.

    But European Commission President Jean-Claude Juncker” warned if the deal was voted down there was “no third chance”.

    They spoke at a joint press conference in Strasbourg after a late meeting.

  78. Hi my friend! I want to say that this post is awesome, nice written and include almost all significant infos. I would like to see more posts like this .

  79. These three figures — William Rick Singer, Mark Riddell and Rudolph Meredith, respectively — are at the center of the nationwide scandal in which 33 parents are accused of using their wealth and means to help their children game the college admissions system.
    But those three names do not appear anywhere in the complaint text, though the document gives enough clues to make clear who is who. Instead, they are named as Cooperating Witness 1, 2 and 3, and each agreed to plead guilty and to cooperate with the government in the hope of obtaining leniency when they are sentenced, the complaint says.

  80. Hiya, I am really glad I’ve found this information. Today bloggers publish just about gossip and internet stuff and this is really irritating. A good web site with exciting content, that is what I need. Thanks for making this website, and I will be visiting again. Do you do newsletters? I Can’t find it.

  81. Christina was born in the royal castle Tre Kronor on 18 December S. 8 December] 1626. Her parents were the Swedish king Gustavus Adolphus and his German wife, Maria Eleonora, had already had two daughters—a stillborn princess in 1620, and then the first Princess Christina, who was born in 1623 and died the following year.3] Excited expectation surrounded Maria Eleonora’s third pregnancy in 1626. When the baby was born, it was first thought to be a boy as it was “hairy” and screamed “with a strong, hoarse voice.”she later wrote in her autobiography that, “Deep embarrassment spread among the women when they discovered their mistake.” The king, though, was very happy, stating, “She’ll be clever, she has made fools of us all!”6] From most accounts, Gustav Adolf appears to have been closely attached to his daughter, and she appears to have admired him greatly.

  82. Hey there superb website! Does running a blog similar to this
    require a lot of work? I have virtually no understanding of coding however I had been hoping to start my own blog soon. Anyhow, should you have any recommendations or tips for
    new blog owners please share. I know this is off topic nevertheless I simply wanted to ask.

    Appreciate it!

  83. Hmm is anyone else having problems with the pictures on this blog loading?
    I’m trying to figure out if its a problem on my end or if it’s the blog.

    Any feed-back would be greatly appreciated.

  84. incontri gay roma bakeka milanuncios tenerife empleo incontri gay monza
    incontri gay a gran canaria Largest online dating sites usa miglior sito di incontri gay
    bakeca incontri lecce gay madura busca joven incontri gay a cagliari
    incontri gay a bo cruising santiago de compostela bakeca incontri palermo gay
    kijiji incontri gay cruising algeciras siti di incontri gay gratis
    incontri perugia gay pasion.com xativa incontri gay in piemonte
    incontri gay monza cornerjob malaga incontri gay a firenze
    app di incontri gay tabaco desvenado gay incontri mantova
    gay bari incontri pasion gay monforte annunci incontri gay sassari

  85. Hi my friend! I want to say that this article
    is amazing, nice written and come with approximately all
    significant infos. I’d like to look extra posts like this .

  86. Despite residing in Germany for nearly 30 years, there are still some things I cannot wrap my mind around. I may have married a German, pay German taxes, and have German(-American) children, but I guess my US mentality still shines through.

    Like when it comes to personal space. I’ll be standing in the supermarket, in front of a shelf full of products, deliberating over the selection, and inevitably a hand will slip itself in front of my face and grab an item from the row. Many Germans seem to not have any qualms about this at all, but it still takes me aback sometimes.

  87. incontri gay domodossola milanuncios pasion cordoba gay verbania incontri
    miglior sito di incontri gay mobifriends asturias incontri gay all’aperto
    classifica siti incontri gay locales gay alicante incontri gay giardini naxos
    annunci incontri gay napoli zoo gran canaria gay incontri gay riminiГ№
    incontri gay sesto quierorollo incontri gay gaeta
    luoghi incontri gay macerata milanuncios gay huelva anziani gay incontri
    incontri gay pineto canal chat cibersexo incontri gay cagliari bakeka
    aree di sosta incontri gay cruising gipuzkoa trento incontri gay
    bakeka incontri modena gay lagacetasalamanca bakeka incontri gay brescia

  88. After looking into a few of the blog articles on your blog,
    I really appreciate your technique of writing a blog. I
    saved it to my bookmark site list and will be checking back
    soon. Take a look at my web site as well and let me know your opinion.

  89. Hi, i think that i saw you visited my website so i came to “return the favor”.I’m trying to find things to improve my web
    site!I suppose its ok to use a few of your ideas!!

  90. Hi! I know this is sort of off-topic but I had to ask.
    Does managing a well-established blog such as yours require a
    lot of work? I’m completely new to operating a blog but I do write in my diary on a daily basis.
    I’d like to start a blog so I will be able to share my experience and thoughts online.
    Please let me know if you have any ideas or tips for brand new
    aspiring blog owners. Thankyou!

  91. What i don’t realize is if truth be told how you’re now not actually a lot more neatly-appreciated than you may be
    now. You’re very intelligent. You realize thus significantly in the case of this topic, made me for my part consider it from
    numerous numerous angles. Its like men and women aren’t involved
    unless it is one thing to do with Woman gaga! Your personal stuffs outstanding.
    Always care for it up!

  92. Document Article. Was’t whatever i ended up specifically hunting for however My husband and i did some searching Aol your posting showed up i really tested versus eachother and additionally wished to no less than thanks a ton.

  93. After I originally left a comment I seem to have clicked on the -Notify me when new comments are added- checkbox and now
    whenever a comment is added I receive 4 emails with the exact same comment.
    Is there a means you are able to remove me from that service?

    Kudos!

  94. My family members always say that I am wasting my time here at web, except I know I am getting
    familiarity daily by reading thes fastidious articles.

  95. Unquestionably believe that which you said. Your favorite reason seemed to be on the web the easiest thing to be aware of.
    I say to you, I certainly get irked while people consider worries that they just don’t know about.
    You managed to hit the nail upon the top and also defined out the whole thing without having
    side-effects , people can take a signal. Will likely be back to get more.
    Thanks

  96. Ryska militarfartyg kommer till Filippinerna samtidigt som spanningen okar kring Sydkinesiska sjon. Men framfor allt expanderar nu Kina langt us i Stilla havet. Det vacker oro i USA eftersom Kina anses hota de amerikanska ubatar som ar helt avgorande vid en konflikt.

  97. The Portuguese road Prevention agency (PRP) has this week called for more and improved traffic stops in Portugal. The agency has also deemed current actions by law enforcement officials as ineffective in dealing with the majority of serious traffic offences.

  98. The series of conversations with the Warsaw Ghetto survivors was conducted to commemorate the 76 th anniversary of the outbreak of the Warsaw Ghetto Uprising that falls on the 19th of April.

  99. Hey, how’s it going?

    I want to pass along some very important news that everyone needs to hear!

    In December of 2017, Donald Trump made history by recognizing Jerusalem as the captial of Israel. Why is this big news? Because by this the Jewish people of Israel are now able to press forward in bringing about the Third Temple prophesied in the Bible.

    Jewish Rabbis have publicly announced that their Messiah will be revealed in the coming years who will be a leader and spiritual guide to all nations, gathering all religions under the worship of one God.

    Biblical prophecy tells us that this Jewish Messiah who will take the stage will be the antichrist “who opposes and exalts himself above all that is called God or that is worshiped, so that he sits as God in the temple of God, showing himself that he is God” (2 Thessalonians 2:4). For a time, he will bring about a false peace, but “Therefore when you see the ‘abomination of desolation,’ spoken of by Daniel the prophet, standing in the holy place (Matthew 24:15)…then there will be great tribulation, such as has not been since the beginning of the world until this time, no, nor ever shall be” (Matthew 24:21).

    “Little children, it is the last hour; and as you have heard that the Antichrist is coming, even now many antichrists have come, by which we know that it is the last hour” (1 John 2:18).

    “The coming of the lawless one is according to the working of Satan, with all power, signs, and lying wonders, and with all unrighteous deception among those who perish, because they did not receive the love of the truth, that they might be saved. And for this reason God will send them strong delusion, that they should believe the lie, that they all may be condemned who did not believe the truth but had pleasure in unrighteousness” (2 Thessalonians 2:9-12).

    More importantly, the power that runs the world wants to put a RFID microchip in our body making us total slaves to them. This chip matches perfectly with the Mark of the Beast in the Bible, more specifically in Revelation 13:16-18:

    “He causes all, both small and great, rich and poor, free and slave, to receive a mark on their right hand or on their foreheads, and that no one may buy or sell except one who has the mark or the name of the beast, or the number of his name.

    Here is wisdom. Let him who has understanding calculate the number of the beast, for it is the number of a man: His number is 666.”

    Referring to the last days, this could only be speaking of a cashless society, which we have yet to see, but are heading towards. Otherwise, we could still buy or sell without the mark amongst others if physical money was still currency. This Mark couldn’t be spiritual because the word references two different physical locations. If it was spiritual it would just say in the forehead. RFID microchip implant technology will be the future of a one world cashless society containing digital currency. It will be implanted in the right-hand or the forehead, and we cannot buy or sell without it! We must grow strong in Jesus. AT ALL COSTS, DO NOT TAKE IT!

    “Then a third angel followed them, saying with a loud voice, “If anyone worships the beast and his image, and receives his mark on his forehead or on his hand, he himself shall also drink of the wine of the wrath of God, which is poured out full strength into the cup of His indignation. He shall be tormented with fire and brimstone in the presence of the holy angels and in the presence of the Lamb. And the smoke of their torment ascends forever and ever; and they have no rest day or night, who worship the beast and his image, and whoever receives the mark of his name” (Revelation 14:9-11).

    People have been saying the end is coming for many years, but we needed two key things. One, the Third Temple, and two, the technology for a cashless society to fulfill the prophecy of the Mark of the Beast.

    Visit http://WWW.BIBLEFREEDOM.COM to see proof for these things and why the Bible trul is the word of God!

    If you haven’t already, it is time to seek God with all your heart. Jesus loves you more than you could imagine. He wants to have a relationship with you and redeem you from your sins. Turn to Him and repent while there is still hope! This is forever…God bless!

Leave a Reply

Your email address will not be published.